我想在js文件中使用Google API,我该如何使用它?我试图直接在js文件中使用google.load(),但被告知谷歌没有定义。然后我尝试使用以下代码
var s = document.createElement('script');
但被告知文件未定义。 如何在js文件中使用google api?谢谢。
我想要使用的是Google Feed API。
我使用的HTML代码是
<!DOCTYPE HTML>
<html>
<head>
<title>
Example
</title>
<script src="https://www.google.com/jsapi" type="text/javascript"></script>
</head>
<body>
<div>
<p id="computation_results">please wait, computing … </p>
</div>
<script>
var worker = new Worker('numberworker.js');
worker.postMessage({first:123,second:456});
worker.onmessage = function (event)
{
alert(event.data);
document.getElementById('computation_results').textContent = event.data;
};
</script>
</body>
</html>
和我要使用api的js文件是
// Our callback function, for when a feed is loaded.
function feedLoaded(result) {
if (!result.error) {
var container = document.getElementById("content");
container.innerHTML = '';
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("div");
div.appendChild(document.createTextNode(entry.title));
container.appendChild(div);
}
}
}
function OnLoad() {
var feed = new google.feeds.Feed("http://www.digg.com/rss/index.xml");
feed.load(feedLoaded);
}
onmessage = function (event)
{
var fileref=document.createElement('script');
var filename="https://www.google.com/jsapi";
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
document.getElementsByTagName("head")[0].appendChild(fileref);
// google.load("feeds", "1");
// google.setOnLoadCallback(OnLoad);
var first=event.data.first;
var second=event.data.second;
postMessage("Work done! "+ " "+first+" "+second);
};
答案 0 :(得分:0)
您需要先包含API才能使用它。试着把它放在脑袋里:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
要加载Feed API,您可以使用另一个脚本块:
<script type="text/javascript">
google.load("feeds", "1");
var feed = new google.feeds.Feed("<<url here>>");
...
</script>
答案 1 :(得分:0)
我会检查以确保您的html首先得到验证,或者建立一个指向测试文件的链接。任何最轻微的错误都可能导致您获得任意数量的错误。我在文件中单独尝试了以下代码,包装在标签中,并且能够加载api。要使用javascript加载javascript文件,您可以使用以下
var fileref=document.createElement('script');
var filename="https://www.google.com/jsapi";
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
document.getElementsByTagName("head")[0].appendChild(fileref);
之后你使用api调用
google.load(....)\
修改强>
您正在使用html5网络工作人员,他们使用浏览器之外的流程来创建脚本。这是不可能的,因为html5工作者无法访问DOM。 http://www.sitepoint.com/javascript-threading-html5-web-workers/
您必须在worker之外创建它或包含在脚本元素
中