我正在使用Google AJAX feed API来搜索RSS提要。当我在下面的示例1中运行HTML文档头中的javascript时,它可以工作(我知道我没有得到任何结果,但这是改天的问题!),但我需要在加载所有内容时实际运行它。我使用的是jquery,所以我有一个$(Window)函数(.load(){});方法,但当我在其中运行谷歌代码时,它不起作用(示例2)。有没有人看到我做错了什么?
示例1- index.html
<head>
<script type="text/javascript">
console.debug("before google load code");
google.load("feeds", "1");
console.debug("after google load code");
google.setOnLoadCallback(loaded);
function loaded() {
console.debug("google loaded");
google.feeds.findFeeds("news", feedSearchDone);
}
function feedSearchDone(result) {
if (result.error || result.entries.length <= 0) {
console.debug("No Results Found");
return;
}
else {
console.debug(result.entries[0].url);
} }
</script>
</head>
示例1- code.js
$(window).load(function() {
console.debug("in jquery load function");
});
示例1-Firebug中的输出:
before google load code
after google load code
in jquery load function
google loaded
No Results Found
示例2- code.js
$(window).load(function() {
console.debug("in jquery load function");
console.debug("before google load code");
google.load("feeds", "1");
console.debug("after google load code");
google.setOnLoadCallback(loaded);
function loaded() {
console.debug("google loaded");
google.feeds.findFeeds("news", feedSearchDone);
}
function feedSearchDone(result) {
if (result.error || result.entries.length <= 0) {
console.debug("No Results Found");
return;
}
else {
console.debug(result.entries[0].url);
} }
});
示例2- Firebug中的输出
in jquery load function
before google load code
window.loadFirebugConsole is not a function
[Break on this error] <html lang="en">
尽管这个错误指的是Firebug,但我不认为这是原因,因为当我在Safari中查看页面时,页面的行为是相同的(屏幕上没有元素)。感谢您的阅读。
发布于 2010-07-12 13:20:41
只有在JQuery onload回调之后才能使用google onLoad。
function initialize() {
$(function () {
// Some other code here
});
}
google.setOnLoadCallback(initialize);
尝试将其添加到code.js文件中。
发布于 2010-06-23 05:51:54
您必须改用$(document).ready
,只有在DOMLoad完成后才会加载脚本。
发布于 2010-06-23 05:47:58
你一定要把jquery放在$ doc.ready上面吗?
https://stackoverflow.com/questions/3082482
复制相似问题