将Playbuzz加载脚本加载到Android中的WebView中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Playbuzz加载脚本加载到Android中的WebView中相关的知识,希望对你有一定的参考价值。

我试图在Playbuzz中加载WebView内容脚本的内容

我找到了一种方法来加载包含脚本的网页的URL:

String urlPlayBuzz = "http://www.jorgesys.com/playbuzzcontent.html";
webview.loadUrl(urlPlayBuzz);

enter image description here


但要求只加载脚本并显示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='//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结果:

enter image description here

我如何加载playbuzz内容的脚本并将其显示到WebView

答案

好吧,我发现我的脚本包含相对路径,如:

js.src='//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);

现在我可以加载包含相对路径的脚本的内容!!!

introducir la descripción de la imagen aquí

以上是关于将Playbuzz加载脚本加载到Android中的WebView中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Apps 脚本将查询中的数据加载到 Big Query - 缺少必需参数

如何编写执行预定义查询以将数据加载到工作表中的办公脚本?

将画廊中的所有图像加载到android中的应用程序中

如何将资源文件夹中的图像加载到android listview中

如何将变量从一个PowerShell脚本加载到另一个?

Redshift中的存储过程将数据加载到表中