2012-12-31 50 views
0

我們最近更新了Google上的搜索引擎以進行自定義搜索。它可以在Chrome,Firefox和Safari上正常工作,但搜索字段窗口不會出現在IE9 & IE9中。我檢查了CSS,看看是否是這個問題,但它似乎不是問題。自定義Google搜索未出現在IE8和IE9上

這裏是他們希望我們使用的腳本,沒有人看到爲什麼它不會出現在IE中的問題?

<!-- The following javascript appears before the closing </head> tag. --> 
<script> 
(function() { 
var cx = '012938749785999463601:bae5a4ajf2q'; 
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; 
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + 
    '//www.google.com/cse/cse.js?cx=' + cx; 
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); 
})(); 
</script> 
<!-- This tag is inserted where the search box should render --> 
<gcse:searchbox-only></gcse:searchbox-only> 

這裏是一個網站的頁面:http://amazingribs.com/tips_and_technique/index2.html

這個代碼在其他瀏覽器。有任何想法嗎?

感謝

回答

2

你可以嘗試的地方移動代碼<body>標籤內?

您在<head>標記中使用它,但它指的是document,它在執行腳本時可能不「準備好」。通過將它放在<body>中,document應該可用。

另外,我嘗試修改此:

變種S = document.getElementsByTagName( '腳本')[0]; s.parentNode.insertBefore(gcse,s);

要只是此:

document.body.appendChild(GCSE);

+0

我試着將腳本移動到HTML主體中,它現在顯示在IE中。是否知道這種方法的任何損害? Google代碼請求我們將其插入部分。 –

+0

我想不出移動腳本會發生什麼問題。只要它可以在所有主流瀏覽器中運行! – djhayman

+0

我將腳本移到了Body部分,現在它可以在IE8和IE9中工作。 Google提供了每個搜索元素v1和v2的兩個不同版本。 V2被設計爲進入,v1被設計爲進入。 V1代碼要大得多。 V2很短。我不知道尺寸差異的原因。但是,在插入時,V2代碼似乎仍然有效。 –

相關問題