Swift&UIWebView元素隐藏
我得到了一个UIWebView,我加载这样的内容
let url = NSURL (string: "http://www.myresponsivesite.fr/section/"); let requestObj = NSURLRequest(URL: url!); webView.loadRequest(requestObj);
它的工作是完美的,但我想把一些div和其他元素显示没有。 所以我的问题是:如何从我的应用程序快速注入一些CSS? 谢谢。
我终于find了另一种方式,我加载我的HTML在一个variables,我用一个“display:none”replace一些div例如:
let urlDeBase = "http://mywebsite/section/" if let url = NSURL (string: urlDeBase){ var error: NSError? let myHTML = String(contentsOfURL: url, encoding: NSUTF8StringEncoding, error: &error)
我replace我想要的东西
let mystring = myHTML?.stringByReplacingOccurrencesOfString("<h3 class=\"myclass\">Menu</h3>", withString: "<h3 class=\"myclass\" style=\"display:none\">Menu</h3>") webvieww.loadHTMLString(mystring, baseURL: nil)
我find了一个贴子和苹果文档, 这是一个解决scheme:
所以,我认为我发现至less有一种方法来完成使用Swift加载的网页的附加样式:
var loadStyles = "var script = document.createElement('link'); script.type = 'text/css'; script.rel = 'stylesheet'; script.href = 'http://fake-url/styles.css'; document.getElementsByTagName('body')[0].appendChild(script);"
website.stringByEvaluatingJavaScriptFromString(loadStyles)
这里是另一个post: Swift stringByEvaluatingJavaScriptFromString
然后是苹果文档 。