2016-11-08 91 views
-4

我有一個基於PHP的網站。我需要在頭部添加一個JavaScript代碼。我想將代碼包含到一個小的js文件中並從php頁面中調用它。代碼從<script type="text/javascript">開始,以</script>結束。所以我嘗試將代碼保存到code.js中,並放在我的網站的php代碼的頭部,我把<script type="text/javascript" src="code.js" />,但它沒有工作。我想知道我做錯了什麼?如何正確地插入JavaScript代碼到PHP?

謝謝


PHP頁面的內容如下:

<!DOCTYPE HTML> 
<html> 
    <head> 
     <title>title of the page</title> 
     <link href='http://fonts.googleapis.com/css?family=Ropa+Sans' rel='stylesheet' type='text/css'> 
    <!--head--> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head> 
    <body> 
     <!----start-wrap----> 
    <div class="wrap"> 
     <!----start-Header----> 
    <!----End-Logo----> 
      <!--body-top--> 
      code of the huge page 
    <!----End-wrap----> 
    </body> 
</html> 

我需要插入JavaScript代碼,而不是<!--head-->如下:

<script type="text/javascript"> 
    var _prvar=_prvar||new Object(); 
    (function(pa,s){if(document.getElementById('125456'))return false; 
    pa=document.createElement('script');pa.type='text/javascript';pa.async=true;pa.id='125456';pa.src='//abcdefg.com/pub.js'; 
    s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(pa,s);})(); 
</script> 

所以我所做的是將代碼

<script type="text/javascript"> 
    var _prvar=_prvar||new Object(); 
    (function(pa,s){if(document.getElementById('125456'))return false; 
    pa=document.createElement('script');pa.type='text/javascript';pa.async=true;pa.id='125456';pa.src='//abcdefg.com/pub.js'; 
    s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(pa,s);})(); 
</script> 

到一個code.js和,而不是在我插入<script type="text/javascript" src="code.js" />

+0

只需使用回聲「 ........」;在正確的地方 – scaisEdge

+2

您是否試圖執行Javascript服務器端?除非你使用JS的服務器端實現,否則你不能。這不是它的工作原理。 – Carcigenicate

回答

0

問題的PHP代碼<!--head-->是你插入的標籤腳本作爲非模板標籤,這裏是正確的形式:

<script type="text/javascript" src="code.js"></script> 

顯然,如果.js位於正確的位置,它將被加載。

您的代碼中沒有看到標記,可能是因爲您已經使用HTML檢查器檢查了HTML,但該工具並不總是能夠向您顯示格式不正確的標記。爲確保看到正確的HTML結果,您必須查看源代碼(通常,通過瀏覽器右鍵單擊網頁並顯示「顯示源代碼」選項)。

+0

它仍然無法正常工作。我替換了Sycraw建議的結束標籤。 –

+0

可以肯定的是,你是否試圖在你的php中加入一些愚蠢的文本,以查看它是否在你重新加載頁面時出現? – Sycraw

+0

顯然,我的意思是在HTML的內部,只有當你可以做到這一點,而無需面對世界的網站:) @MichaelAlbertson – Sycraw

0

PHP頁面的內容如下:

<!DOCTYPE HTML> 
<html> 
    <head> 
     <title>title of the page</title> 
     <link href='http://fonts.googleapis.com/css?family=Ropa+Sans' rel='stylesheet' type='text/css'> 
    <!--head--> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head> 
    <body> 
     <!----start-wrap----> 
    <div class="wrap"> 
     <!----start-Header----> 
    <!----End-Logo----> 
      <!--body-top--> 
      code of the huge page 
    <!----End-wrap----> 
    </body> 
</html> 

我需要插入JavaScript代碼,而不是<!--head-->如下:

<script type="text/javascript"> 
    var _prvar=_prvar||new Object(); 
    (function(pa,s){if(document.getElementById('125456'))return false; 
    pa=document.createElement('script');pa.type='text/javascript';pa.async=true;pa.id='125456';pa.src='//abcdefg.com/pub.js'; 
    s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(pa,s);})(); 
</script> 

所以我所做的是放在代碼

<script type="text/javascript"> 
    var _prvar=_prvar||new Object(); 
    (function(pa,s){if(document.getElementById('125456'))return false; 
    pa=document.createElement('script');pa.type='text/javascript';pa.async=true;pa.id='125456';pa.src='//abcdefg.com/pub.js'; 
    s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(pa,s);})(); 
</script> 

在code.js中,而不是在php cod中的<!--head--> e我插入<script type="text/javascript" src="code.js" />