从 UIWebView swift 编辑 html 代码 [关闭]

Posted

技术标签:

【中文标题】从 UIWebView swift 编辑 html 代码 [关闭]【英文标题】:Edit html code from UIWebView swift [closed] 【发布时间】:2017-08-16 11:18:52 【问题描述】:

我在我的应用程序中展示了一个 WebView,但是,我想在我展示的网站上进行一些修改。例如,如果我加载 google.com,我可能想要更改“google 搜索”按钮的文本。我该怎么做?

提出的类似问题都在 Objective C 中,并且似乎不起作用。 提前谢谢你。

【问题讨论】:

【参考方案1】:

我认为这会对您有所帮助。在 Swift3 中

@IBOutlet weak var webView: UIWebView!
var firstLoad = true
override func viewDidLoad() 
    super.viewDidLoad()
    self.webView.delegate = self
    self.webView.loadRequest(URLRequest(url: URL(string: "https://www.google.com.pk/")!))
    // Do any additional setup after loading the view, typically from a nib.


func webViewDidFinishLoad(_ webView: UIWebView) 
    let evaluate: String = "document.getElementById('main-title').value='\("New title")';"
    webView.stringByEvaluatingjavascript(from: evaluate)

    //or
    if firstLoad 
        firstLoad = false
        let html: String? = webView.stringByEvaluatingJavaScript(from: "document.documentElement.outerHTML")
        //Edit html here, by parsing or similar.
        webView.loadHTMLString(html!, baseURL: Bundle.main.resourceURL)

        //print HTML for testing
        print("HTML \(html!)")
    


【讨论】:

它可能会很烦人,但使用UIWebViewstringByEvalutingJavascript() 会给你想要的控制。您只需编写 javascript 即可更改您定位的内容。

以上是关于从 UIWebView swift 编辑 html 代码 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 swift 将本地 html 加载到 UIWebView

Swift:(预)从 initialViewController 加载 UIWebView

从 appdelegate swift 访问 UIwebview

swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)

如何从 Swift 3 中的 UIWebview 中的链接打开另一个视图?

如何从 Swift 3 xcode8 的 UIWebView 中的 url 获取查询字符串参数?