2010-10-08 36 views
1

我試圖生成應該看起來像這樣的亞馬遜廣告。Javascript重定向到源代碼,而不是加載

<script type="text/javascript"><!-- 
amazon_ad_tag = "xxxxxxx"; amazon_ad_width = "160"; amazon_ad_height = "600";//--></script> 
<script type="text/javascript" src="http://www.assoc-amazon.com/s/ads.js"></script> 

下面是我的腳本應該實現的部分。腳本BTW是用於旋轉更多類型的聯盟廣告。

首先是與所有的亞馬遜廣告選項的全局變量...

ad_code = 'amazon_ad_tag = "xxxxxxx"; amazon_ad_width = "160"; amazon_ad_height = "600";'; 

接下來,我裝在一個「ad_slot」分區的ad_codead_code的內容應該出現在<script>標籤之間。

$('.amazon_ad').html('<scr'+'ipt type=\"text/javascript\"><!--' + ad_code + '//--></scr'+'ipt><scr'+'ipt src=\"' + window.location.protocol +'//www.assoc-amazon.com/s/ads.js\" type=\"text/javascr'+'ipt\"></scr'+'ipt>'); 

結果應該是第一個代碼我張貼,並顯示亞馬遜的旗幟,而不是我的瀏覽器去http://www.assoc-amazon.com/s/ads.js,應加載腳本。

有誰知道我在做什麼錯?

回答

0

這是包裹在$(document).ready(function() {...?如果它在裏面,對我來說工作得很好。

+0

它被包裹在'$(函數(){'但我的document.ready和源改變了它,並得到相同的結果:(你換別的嗎? – V777 2010-10-08 18:34:18

+0

都能跟得上一個簡單的用這個class =「amazon_ad」元素的HTML是什麼? – methodin 2010-10-08 20:50:20

0

確保在服務器配置中正確設置.js文件的內容/ MIME類型。你可以用.htaccess文件來做到這一點。

你也需要註釋掉或刪除< - 評論在您的腳本代碼視爲無效JS

+0

實際上它是有效的。評論是爲了防止Netscape 1將腳本作爲文本呈現在頁面上,所以它非常整潔,如果你有很多Netscape 1瀏覽器訪問您的網站; ;-) – Magnar 2011-06-21 19:14:47

0

這可能不是批評你的代碼的最佳時機,但:

所有你的腳本應該包含在外部,而不是內聯。 不要使用,這是一個不贊成的古老的方式,包括內聯腳本。如果您必須使用// 我在腳本中看到您正在使用document.write()。別!

你不能以這種方式欺騙和包含腳本,並期望它被執行。

使用jQuery.getScript()

相關問題