使用Jquery.Load()动态加载时,Google CSE无法正确加载

时间:2012-05-16 02:33:00

标签: dynamic jquery-load google-custom-search

以下是我目前正在处理的网站:http://www.nbtc.org/nv/index.php

感谢SO社区以前的帮助,这些按钮动态地将主“内容”div更改为按钮所指向的任何链接。除了右上角的“搜索”按钮外,它们都很好用。

我们正在使用Google CSE,这是他们给我的代码:

    <div id="cse" style="width: 100%;">Loading</div>
    <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript"> 
    google.load('search', '1', {language : 'en', style : google.loader.themes.V2_DEFAULT});
    google.setOnLoadCallback(function() {
    var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(
    '005348393200361091503:k_xdk0rs2og', customSearchOptions);
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.draw('cse');
    }, true);
    </script>

正如您在测试网站上看到的那样,当您点击按钮时,文本被加载到div中,但没有任何反应,只是说“加载”。如果再次按下该按钮,整个网站将变为空白。

如果您右键单击并在新选项卡中打开链接,它就可以正常工作。

我认为必须有一个简单的解决方案,我已经环顾四周但却找不到这种情况的答案。我正在使用jquery来执行其他功能,@ nicodemus13提出了一种在jquery中重写google代码的方法,作为这个问题的答案:

How to load Google's Custom-search-engine(CSE) JS APIs after page loads?

但谷歌给我的代码细节不同,我不知道如何改编它。

谢谢!布兰登·

0 个答案:

没有答案