【问题标题】:Inject Custom CSS and javascript into WebView将自定义 CSS 和 javascript 注入 WebView
【发布时间】:2012-07-30 23:08:54
【问题描述】:

如何将自定义 CSS 注入 WebView,例如更改 http://www.apple.com/background-color:。 Javascript 也很好,因为将来我想控制 javascript。

【问题讨论】:

    标签: objective-c css cocoa uiwebview webview


    【解决方案1】:

    最好的方法是 Rob Keniger 描述的方法,答案是:https://stackoverflow.com/a/2475623/307881。这种技术也应该适用于 javascript。如果它不能立即工作,请尝试在 WebView 完成加载后修改 DOM(见下文)


    您也可以不访问 DOM 直接评估 javascript 字符串。

    首先,获取您的 javascript 字符串,然后,当您的 WebView 完成加载其内容时,使用 WebFrameLoadDelegate 的委托方法:

    - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
        [sender stringByEvaluatingJavaScriptFromString:jsStringToInject];
    }
    

    【讨论】:

    • CSS 部分可以工作,但 JS 不行
    • 您尝试过使用 stringByEvaluatingJavaScriptFromString 吗?还是这两种方法都不起作用?
    • 您有任何错误吗?我目前使用第二种方法,效果很好 - 你想嵌入什么 javascript?
    • 我没有收到任何错误,我只是在尝试使用 js 对其进行测试:alert('Hello World!');
    • 好吧,alert() 在 WebView 中从来没有为我工作过。也许 stringByEvaluatingString 不支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 2018-12-31
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多