非淡泊无以明志,非宁静无以致远。这篇文章主要讲述将Playbuzz加载脚本加载到Android中的WebView中相关的知识,希望能为你提供帮助。
我试图在Playbuzz
中加载WebView
内容脚本的内容
我找到了一种方法来加载包含脚本的网页的URL:
String urlPlayBuzz = "http://www.jorgesys.com/playbuzzcontent.html";
webview.loadUrl(urlPlayBuzz);
文章图片
但要求只加载脚本并显示
playbuzz
内容:String script = "<
center style="width:100%;
">
<
script>
(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];
if(d.getElementById(id))return;
js=d.createElement(s);
js.id=id;
js.src='https://www.songbingjia.com//embed.playbuzz.com/sdk.js' ;
fjs.parentNode.insertBefore(js,fjs);
}(document, 'script' , 'playbuzz-sdk' ));
<
/script>
<
div class="playbuzz" data-id="9ed89fec-22cb-441e-b2a3-69b3bd1e6953" data-show-info="false" data-show-share="false" style="width:100%;
height:56.25vw">
<
/div>
<
/center>
";
我试过这两个选项:
webview.loadUrl(script);
和
webview.loadData(script,"text/html","UTF-8");
没有成功我只有一个空的
WebView
结果:文章图片
我如何加载playbuzz内容的脚本并将其显示到
WebView
?答案【将Playbuzz加载脚本加载到Android中的WebView中】好吧,我发现我的脚本包含相对路径,如:
js.src='https://www.songbingjia.com//embed.playbuzz.com/sdk.js'
与仅包含绝对路径的twitter或instagram的嵌入式脚本不同的东西。
所以我用过这个方法:
loadDataWithBaseURL()使用baseUrl作为内容的基本URL,将给定数据加载到此WebView中。基本URL既用于解析相对URL,也用于应用javascript的相同源策略。 historyUrl用于历史记录条目..您可以定义内容的基本URL:
webview.loadDataWithBaseURL("https://embed.playbuzz.com.com", url, "text/html", "UTF-8", null);
现在我可以加载包含相对路径的脚本的内容!!!
文章图片
推荐阅读
- 上次更新Android System Webview后,代理设置停止工作
- 如何使用java在appium中垂直滚动混合应用程序
- 原生Android Webview HTML5兼容性
- 让Facebook登录使用Android Webview
- WebView得到致命(jni_android.cc(233)]错误)
- 在WebView Android应用程序中推送通知
- React Native WebView处理android硬件按钮
- 当URL相似时,Android WebView canGoBack()返回false
- 创建新的Windows Phone App项目(“对象引用未设置为对象的实例”错误(WP8 SDK,VS2012))