2016-11-08 160 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" />