在Swift中的UIWebView中执行javaScript

时间:2017-04-04 02:46:19

标签: javascript ios swift3 uiwebview

我正在尝试使用Swift 3.0在我的iOS应用程序中执行Amazon Mobile Add。文件加载成功。我可以在webView中运行google URL(下面注释的代码)。我不懂如何执行javaScript。我一直在阅读教程,但似乎没有任何东西在webView中本地运行脚本。我尝试了webView.stringByEvaluatingJavaScript和context.evaluateScript,但我得到的只是"亚马逊广告"而不是webView中的脚本输出。

我的问题是,如何在webView中以最简单的方式运行javaScript - 或者任何其他视图。 xxxxx是"编辑"用户密钥。

#include <stdint.h>

uint64_t getsp( void )
{
    uint64_t sp;
    asm( "mov %%rsp, %0" : "=rm" ( sp ));
    return sp;
}

这是带有UIWebView的UIViewController。我尝试了以下两种方法,

<!DOCTYPE html>
<html>
<body>

<h1>Amazon Ad</h1>

<script type="text/javascript">
amzn_assoc_placement = "xxxxxx";
amzn_assoc_search_bar = "true";
amzn_assoc_tracking_id = "xxxxxx";
amzn_assoc_search_bar_position = "bottom";
amzn_assoc_ad_mode = "search";
amzn_assoc_ad_type = "smart";
amzn_assoc_marketplace = "amazon";
amzn_assoc_region = "US";
amzn_assoc_title = "Star Wars Black Series 6\"";
amzn_assoc_default_search_phrase = "Star Wars Black Series 6 Inch";
amzn_assoc_default_category = "All";
amzn_assoc_linkid = "xxxxxxx";
</script>
<script src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US"></script>

</body>
</html>

代码

webView.stringByEvaluatingJavaScript(from: common), 
webView.loadHTMLString(common, baseURL: Bundle.main.bundleURL)

1 个答案:

答案 0 :(得分:0)

我认为你需要告诉webview它需要加载一个html值,因为你的文件是一个带有javascript的html。

self.webview.loadHTMLString(yourfile)