2012-08-15 110 views
2

裏面我有這樣的AdSense代碼:打印HTML JavaScript代碼的JavaScript函數

<script type="text/javascript"><!-- 
google_ad_client = "ca-pub-12345"; 
/* my advertisement */ 
google_ad_slot = "2345"; 
google_ad_width = 728; 
google_ad_height = 90; 
//--> 
</script> 
<script type="text/javascript" 
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 

我有這樣的js文件:

$(document).ready(function() { 

var adsenseCode='<script type="text/javascript"><!-- 
    google_ad_client = "ca-pub-12345"; 
    /* my advertisement */ 
    google_ad_slot = "2345"; 
    google_ad_width = 728; 
    google_ad_height = 90; 
    //--> 
    </script> 
    <script type="text/javascript" 
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
    </script>'; 

$().append(adsenseCode); 
} 

我試着用雙引號,單引號,刪除評論線等沒有找到解決方案。
如何在我的HTML頁面內打印javascript代碼?

+0

頁面加載完成後,請勿「document.write」。它將用書面內容替換頁面內容。你應該在腳本標籤中寫下。 – 2012-08-15 20:39:28

+0

你爲什麼要用javascript添加它?這應該作爲普通的js標籤添加到html頁面本身。在jQuery中添加它們會導致一些問題。首先,它們在注入到DOM後可能不會被執行。 – Zefiryn 2012-08-15 20:40:41

+0

@arxanas我編輯的問題。 – trante 2012-08-15 20:42:54

回答

2

類似於下面的東西應該做的伎倆......

$(document).ready(function() { 

var adsenseCode='<script type="text/javascript"> \ 
    google_ad_client = "ca-pub-12345"; \ 
    /* my advertisement */ \ 
    google_ad_slot = "2345"; \ 
    google_ad_width = 728; \ 
    google_ad_height = 90; \ 
    <'+'/script> \ 
    <script type="text/javascript" \ 
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> \ 
    <'+'/script>'; 

$('head').append(adsenseCode); 
} 
  • 我調整您的通話.append()使其將追加到文檔的<head>塊。
  • 我分手了</script>結束標記,以避免混淆瀏覽器,如果此代碼本身位於<script>...</script>塊。根據瀏覽器版本,文檔類型和其他內容的不同,這可能也可能不必要,但我認爲出於安全考慮通常是個好主意。

正如評論@DarkFalcon筆記,jQuery的附加功能可以防止與外部資源的腳本被加載。我已經嘗試過這一點,但似乎並沒有問題。讓我們知道這是否有效。如果沒有,我們可以探索其他的選擇。

+0

請注意,根據'append'的註釋,引用外部腳本的腳本標記將不會運行。我不確定這是否仍然如此。如果此腳本使用「document.write」寫入廣告,則會導致整個頁面被廣告替換,這是另一個潛在的問題。 – 2012-08-15 20:49:43

+0

謝謝。當我製作** var adsenseCode **一行代碼時,此代碼運行良好。否則我得到語法錯誤。 – trante 2012-08-16 06:09:41

+0

啊,當然你是對的:如果不使用行連續標記(反斜槓),javascript字符串不能跨越多行。我相應地調整了我的示例。我很高興你把它整理出來。感謝您發佈結果。 – Lee 2012-08-18 03:44:10