swift, webview 注入js添加水印

在Swift中,为了实现WebView内快速添加水印,可以在webViewDidStartLoad时设置延迟执行,注入JS代码。文章介绍了如何创建并执行JS方法以显示水印,包括设置水印位置、透明度、字体大小等参数,确保水印即使在图片加载慢的情况下也能快速显示。
摘要由CSDN通过智能技术生成

 

注入位置可以在webViewDidFinishLoad 代理方法里添加,但当webview有图片,加载时间很长,水印添加会等待很久,所以 可以在webViewDidStartLoad 添加延时执行,注入js 水印,可以很快添加上水印,无需等待页面全部加载完毕

    [self performSelector:@selector(addWaterAction) withObject:self afterDelay:1];

    func addWaterMarkView(){

        self.webView.stringByEvaluatingJavaScript(from: JJWaterMarkTool.getWaterMarkJSString())

        let context:JSContext = self.webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") as! JSContext

        let jsMethondAction = "watermark_show({ watermark_txt: \(User.share.EmployeeNo),watermark_y:65,watermark_x_space:170,watermark_fontsize : '30px'});"

            context.evaluateScript(jsMethondAction)

    }

swift 版本要注入的js代码:来源于网络

func getWaterMarkJSString() -> String {

        let str = "function watermark_show(settings) {" +

            "var defaultSettings={" +

                "watermark_txt: \"wwwww\"," +

                "watermark_x : 50," +

                "watermark_y : 50," +

                "watermark_cols : 3," +

                "watermark_rows : 100," +

                "watermark_x_space : 170," +

                "watermark_y_space : 170," +

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值