2015-03-18 3 views
0

У меня есть javascript со мной и просто пытается загрузить это на моем UIWebView, Не могу понять, что я делаю неправильно. Вот мой скрипт:Загрузка javascript на UIWebView

<script type='text/javascript'>(function() { var done = false; var script = document.createElement('script'); script.async = true; script.type = 'text/javascript'; script.src = 'https://app.purechat.com/VisitorWidget/WidgetScript'; document.getElementsByTagName('HEAD').item(0).appendChild(script); script.onreadystatechange = script.onload = function (e) { if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) { var w = new PCWidget({ c: 'ea5935c8-1f44-4172-bcd7-18d6f316ad75', f: true }); done = true; } }; })();</script> 

И вот мой код:

NSString *temp [email protected]"<script type='text/javascript'>(function() { var done = false; var script = document.createElement('script'); script.async = true; script.type = 'text/javascript'; script.src = 'https://app.purechat.com/VisitorWidget/WidgetScript'; document.getElementsByTagName('HEAD').item(0).appendChild(script); script.onreadystatechange = script.onload = function (e) { if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) { var w = new PCWidget({ c: 'ea5935c8-1f44-4172-bcd7-18d6f316ad75', f: true }); done = true; } }; })();</script>"; 

[_mainWebView stringByEvaluatingJavaScriptFromString:temp]; 

Вот мой пустой webView ... :(

enter image description here

Любая помощь будет много appriciated, Спасибо, я заранее ....!

ответ

0

Вам не нужно включать тег скрипта в javascript. stringByEvaluatingJavaScriptFromString пытается выполнить заданную строку javascript непосредственно в webview.

Попробуй так:

NSString *temp [email protected]"(function() { var done = false; var script = document.createElement('script'); script.async = true; script.type = 'text/javascript'; script.src = 'https://app.purechat.com/VisitorWidget/WidgetScript'; document.getElementsByTagName('HEAD').item(0).appendChild(script); script.onreadystatechange = script.onload = function (e) { if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) { var w = new PCWidget({ c: 'ea5935c8-1f44-4172-bcd7-18d6f316ad75', f: true }); done = true; } }; })();"; 
+0

Не работает так как .....! –

+0

@AyanKhan вы загружаете веб-представление, прежде чем называть этот javascript? Имеет ли он контент или он пуст? – tsjamm

+0

Я делаю так: [mainWebView stringByEvaluatingJavaScriptFromString: temp]; [self.view addSubview: mainWebView]; –