更改 IE 中脚本标签的innerHTML以显式加载google plusone按钮

发布于 2024-11-18 07:22:33 字数 610 浏览 12 评论 0原文

要在您的网站上添加 Google 的 plusone 按钮,需要插入以下脚本标签(用于显式加载)。

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {"parsetags": "explicit"}
</script>

它在 HTML 中看起来非常简单。但是我不想使用 JS 文件插入脚本。所以我使用下面的代码:

var e = document.createElement('script');
e.src = "https://apis.google.com/js/plusone.js";
e.id = "googplusonescript";
e.innerHTML = '{"parsetags": "explicit"}';
document.getElementsByTagName("head")[0].appendChild(e);

它在除 IE 之外的所有浏览器中都工作得非常好,因为 IE 不允许我们编写脚本标签的innerHTML。有人周围有工作吗? (我在页面中插入了jquery。所以也可以使用jquery。)

To add Google's plusone button on your website the following script tag is to be inserted (for explicit load).

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {"parsetags": "explicit"}
</script>

It looks pretty straight forward in HTML. However I wan't to insert the script using a JS file. So I use the following code:

var e = document.createElement('script');
e.src = "https://apis.google.com/js/plusone.js";
e.id = "googplusonescript";
e.innerHTML = '{"parsetags": "explicit"}';
document.getElementsByTagName("head")[0].appendChild(e);

It works pretty awesome in all the browsers except IE because IE doesn't allow us to write the innerHTML of script tags. Anywork arounds anyone ? (I have jquery inserted in the page. So can use jquery too.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

两仪 2024-11-25 07:22:33

遇到了同样的问题。
在 IE 下你应该使用
script.text = '{"parsetags": "explicit"}';
而不是 script.innerHTML

Came across the same issue.
Under IE you should use
script.text = '{"parsetags": "explicit"}';
instead of script.innerHTML

倚栏听风 2024-11-25 07:22:33

尝试创建一个 textNode 并将其附加到您的脚本标签中:

var myText = document.createTextNode('{"parsetags": "explicit"}'); 
myScriptTag.appendChild(myText);

try creating a textNode and appending it to your script tags:

var myText = document.createTextNode('{"parsetags": "explicit"}'); 
myScriptTag.appendChild(myText);
怀念你的温柔 2024-11-25 07:22:33

请尝试以下操作:

window['___gcfg'] = { parsetags: 'explicit' };

Try the following:

window['___gcfg'] = { parsetags: 'explicit' };
假装爱人 2024-11-25 07:22:33
var ispoloaded;

function showpo() {
var pohd = document.getElementsByTagName('head')[0];
var poscr = document.createElement('script');
poscr.type ='text/javascript';
poscr.async = true;
poscr.text ='{"parsetags": "explicit"}'; //works on IE too
poscr.src = "http://apis.google.com/js/plusone.js";
pohd.appendChild(poscr);


ispoloaded = setInterval(function () {


//check if plusone.js is loaded
if(typeof gapi == 'object') {
//break the checking interval if loaded
clearInterval(ispoloaded);
//render the button, if passed id does not exists it renders all plus one buttons on page
gapi.plusone.go("idthatexists");
}

}, 100); //checks every 0.1 second



}
var ispoloaded;

function showpo() {
var pohd = document.getElementsByTagName('head')[0];
var poscr = document.createElement('script');
poscr.type ='text/javascript';
poscr.async = true;
poscr.text ='{"parsetags": "explicit"}'; //works on IE too
poscr.src = "http://apis.google.com/js/plusone.js";
pohd.appendChild(poscr);


ispoloaded = setInterval(function () {


//check if plusone.js is loaded
if(typeof gapi == 'object') {
//break the checking interval if loaded
clearInterval(ispoloaded);
//render the button, if passed id does not exists it renders all plus one buttons on page
gapi.plusone.go("idthatexists");
}

}, 100); //checks every 0.1 second



}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文