Javascript 为什么';我的谷歌小工具渲染不正确吗?
我正在制作一个小工具,上面显示一条著名的按钮:类似Facebook、Tweet、Google Plus和LinkedIn共享 如果将粘贴到编辑器,您将看到它显示良好 我的小工具代码基本上是加载HTML内容并将其放入div元素中,如下所示:Javascript 为什么';我的谷歌小工具渲染不正确吗?,javascript,google-gadget,Javascript,Google Gadget,我正在制作一个小工具,上面显示一条著名的按钮:类似Facebook、Tweet、Google Plus和LinkedIn共享 如果将粘贴到编辑器,您将看到它显示良好 我的小工具代码基本上是加载HTML内容并将其放入div元素中,如下所示: <Content type="html"> <![CDATA[ <div id="content_div"></div> <script type="text/javascript"> function
<Content type="html">
<![CDATA[
<div id="content_div"></div>
<script type="text/javascript">
function displayButtons (){
var params = {};
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
var url = "http://hosting.gmodules.com/ig/gadgets/file/109164222302601753554/share_bar.html";
gadgets.io.makeRequest(url, adjust, params);
}
function adjust(obj){
document.getElementById('content_div').innerHTML = obj.text;
}
gadgets.util.registerOnLoadHandler(displayButtons);
</script>
]]>
</Content>
函数displayButtons(){
var params={};
params[gadgets.io.RequestParameters.CONTENT_TYPE]=gadgets.io.ContentType.TEXT;
变量url=”http://hosting.gmodules.com/ig/gadgets/file/109164222302601753554/share_bar.html";
gadgets.io.makeRequest(url、adjust、params);
}
功能调整(obj){
document.getElementById('content_div')。innerHTML=obj.text;
}
gadgets.util.registerOnLoadHandler(显示按钮);
]]>
当我在iGoogle或谷歌网站上测试它时,我得到的只是Tweet文本超链接
有人能帮我找出哪里出了问题吗?我在Firefox和Chrome浏览器中输入您试图包含的内容的地址时,出现了一个XML呈现错误。在IE9中,页面是空白的 Chrome可能有最好的提示: 此页面包含以下错误: 第28列第5行出错:plusone上的命名空间前缀g不正确 明确的 第54列第18行出错:like上的命名空间前缀fb为 未定义 下面是第一个错误之前的页面呈现 推特 因此,请首先查看share_bar.html文件 编辑 您尝试插入的内容包含多个脚本标记。浏览器似乎对您试图通过设置元素的innerHTML属性来执行的脚本注入产生了问题 在Shindig/Partuza combo测试环境(接近iGoogle和其他OpenSocial容器)中进行测试后,对我有效的解决方案是使用jQuery进行插入 因此,我首先在模块内容部分的顶部加载jquery库,如下所示:
<Content type="html">
<![CDATA[
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"> </script>
<div id="content_div"></div>
...
希望这有帮助。我在文件中找不到任何错误。可能是因为缺少和标记而显示错误。我不知道。这就是为什么我建议在w3学校使用编辑器。我还改变了小工具的工作方式,现在它使用相同的html。然而,我仍然想知道为什么它没有像我在问题中提到的那样工作。我做了一些挖掘,显然我的第一个答案不是很有帮助。请忽略它,考虑第二个问题。
function adjust(obj){
$('#content_div').html(obj.text);
}