UIWebView - 将本地CSS加载到远程网站

时间:2011-12-04 00:27:27

标签: javascript iphone css uiwebview

似乎有一些建议,但似乎没有任何效果: https://stackoverflow.com/search?q=UIWebview+load+local+css+remote+website&submit=search

我正在做的是在网站加载后加载2个JavaScript文件。

第一个设置一些属性,第二个通过DOM并改变页面格式。我可以通过循环链接元素来验证带有正确href的链接标记是否已插入到DOM中。第二个脚本完成的处理也可以正确运行。

我也可以将它设置为浏览器中的书签,这适用于我到目前为止测试过的所有浏览器。 CSS只接受UIWebView。

最近有人有这个工作吗?

的OBJ-C

NSString * css = [[NSBundle mainBundle] pathForResource:@"mycss" ofType:@"css"];
NSURL * cssURL = [NSURL fileURLWithPath:css];
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"appendCSS('%@')", cssURL]];

的JavaScript

function appendCSS(csshref)
{
    //alert(css);
    var css=document.createElement('link');
    css.rel='stylesheet';
    css.href=csshref;
    css.type='text/css';
    css.media='all';
    //Try a couple of things. Appear to be equivalent.
    //document.documentElement.appendChild(css);
    document.getElementsByTagName('head')[0].appendChild(css);
}

1 个答案:

答案 0 :(得分:-2)

远程网页无法访问本地文件。 (您使用的URL是捆绑中的文件。)

你可以在其他地方托管CSS吗?否则,您可能只是自己从文件加载CSS并将其插入到样式元素中的DOM中。