我的Android应用程序中有一个WebView,我从库jsoup中提取了一个来自html页面的“div”。在这个“div”中,我有一些执行的javascript脚本,但问题是脚本的url:
'//' + disqus_shortname + '.' + 'disqus.com' + '/embed.js?pname=wordpress&pver=2.74
我在“//”之前没有任何协议,所以脚本没有加载,我想在脚本的url之前添加“http”协议。有什么想法吗?
谢谢大家,
PS:这是我的第一篇帖子:)
答案 0 :(得分:0)
使用WebView.loadDataWithBaseURL()功能指定基本URL。事实上,“//”是有效的,意味着“使用与基本URL相同的协议,但使用给定的域”。通过使用“loadDataWithBaseURL”而不是其他加载方法,WebView应该能够使用您指定的基本URL解决此问题。
答案 1 :(得分:0)
找到将Disqus集成到WebView Android中的解决方案:
return "<html><head></head><body><div id='disqus_thread'></div></body>"
+ "<script type='text/javascript'>"
+ "var disqus_identifier = '"
+ idPost
+ "';"
+ "var disqus_shortname = '"
+ shortName
+ "';"
+ " (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;"
+ "dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';"
+ "(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })();"
+ "</script>";
希望可以提供帮助:)