iOS:加载和注入javascript到网页的最快方式?

时间:2013-12-26 04:55:42

标签: javascript ios objective-c uiwebview nsurlsession

将javascript注入网页并运行脚本的最快方法是什么?有没有办法在没有图像的情况下加载webView以加快iOS中的加载时间?我遇到了javascriptcore框架,但我不确定这是否会有所帮助。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您应该使用UIWebview的委托方法,如下所示,以实现您的目的,

1)将javascript注入网页并运行脚本的最快方法是什么?

使用下面的委托方法,当webview完成加载时,首先调用此方法,

- (void)webViewDidFinishLoad:(UIWebView *)theWebView 
{
  //use this methods to run javascript 
  [theWebView stringByEvaluatingJavaScriptFromString:@"your javascript here"];
}

2)我是否有办法在没有图像的情况下加载webView以加快ios中的加载时间?

使用以下方法停止加载如下图像,

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
  //check here if [[[request URL] absoluteString] rangeOfString:".png"] range of ".png,.jpeg,.jpg" is available then return NO; else return YES;
}

答案 1 :(得分:0)

我不确定这是否是你需要的,但是你走了!:

可以通过CSS调用图像作为背景的一部分。如果您的图像是200px×100px,则可以使用以下HTML代码:

<div class="pretty-image"></div>

这个CSS:

.pretty-image 
{ 
background: url(filename.gif); 
width: 200px; 
height: 100px 
}

这可能起初看起来有点无意义,但这种技术可以真正改善页面的下载时间。浏览器基本上是在其他所有内容后下载背景图通过使用此技术,您的文本将立即加载,您的网站用户可以在下载50kb精美图像时自由地漫游页面。

这种技术虽然如此禁用ALT属性,但是如果你真的想要一个,那么用这个替换上面的HTML代码:

<image src="spacer.gif" class="pretty-image" alt="description" />

Spacer.gif是1px x 1px透明图像。现在你有一个50字节的透明图像,主要内容首先加载,你的大装饰图像,ALT文本,加载第二。完美。

请注意,此技术仅适用于装饰图像,而非信息图像。禁用CSS的任何用户都将无法看到嵌入CSS的图像(或其替代文本)。

来源:http://www.webcredible.co.uk/user-friendly-resources/web-usability/speed-up-download-time.shtml