2011-12-28 73 views
0

可能重複:
​​使用Javascript PHP文件撰寫

這是我的JavaScript代碼。 showcode.php

<script type="text/javascript" charset="utf-8">(function(){ 
var a="publisher-121"; 
var n="top"; 
var z="45"; 
var h="125"; 
var w="125"; 
var nofollow="no"; 
var e=document.getElementsByTagName("script")[0]; 
var d=document.createElement("script"); 
d.src=('https:'==document.location.protocol ? 'https://' : 'http://') +"server.com/adcode.php?a="+a+"&h="+h+"&w="+w+"&n="+n+"&z="+z; 
d.async = true; 
d.defer = true; 
d.type="text/javascript"; 
e.parentNode.insertBefore(d,e); 
})();</script> 

正如你所看到的,URL指向http://server.com/adcode.php?a=publisher-121&n=top&z=45&w=125&h=125

所有這些頁面如下:(adcode.php

<?php echo "document.write('<div id=\"ha_adblock ".$a."_".$z."\" class=\"ha_adblock".$a."_".$z."\" style=\"width:".$h."px;height:".$w."px;background:#eee;text-align:center;cursor:pointer\" onClick=\"window.location.href=\'click.php?a=".$a."&z=".$z."&g=http://refererurl.com/;\'return false;\"><a href=\"http://refererurl.com/\" onClick=\"window.location.href=\'click.php?a=".$a."&z=".$z."&g=http://refererurl.com/;\'return false;\" style=\"color:#333;font-weight:bold\">advert</a></div>');"; ?> 

然而 - 該頁面只顯示空白。 Firebug顯示我的代碼已經被加載並正常執行,沒有錯誤。如果我只是在腳本標籤內部吐出上面的代碼(document.write),它會起作用 - PHP回調似乎不起作用?

+0

我錯過了什麼?我沒有看到任何PHP調用。 – 2011-12-28 22:29:39

+0

最後一個片段被包裹在回聲中。我的doc.write或echo沒有問題。我用過\「\」等。在這個示例中,我展示了僞視圖。 – TheBlackBenzKid 2011-12-28 22:33:18

+0

頁面上是否顯示任何內容?如果你查看源代碼,你會看到你的JavaScript,還是空白? – jprofitt 2011-12-28 22:34:19

回答

1

您不能在deferasync屬性附帶的腳本中使用document.write。試圖這樣做只是不合邏輯的。

此外,您需要轉義字符串中的引號 - 任何帶有顏色編碼的編輯器都會向您顯示屬性內容未包含在strine中,除非您在其中引號之前加上\

+0

即使我刪除它,它仍然不起作用。爲什麼它不合邏輯的?谷歌和大多數廣告網絡都這樣做。 – TheBlackBenzKid 2011-12-28 23:15:18

+0

Google最後一次檢查時沒有使用'defer'或'async',導致它們在加載時鎖定整個頁面。但不管如何,你是否逃過了你的引號?你有沒有檢查你的瀏覽器的錯誤控制檯? – 2011-12-28 23:19:30

0

您無法正確轉義PHP文件中的雙引號字符(")。它們應該在反斜槓(\)字符之前(請參閱here)。 PHP腳本應該閱讀:

<?php echo "document.write('<div id=\"adblock\" class=\"ha_adblock121_45\" style=\"width:125px;height:125px;background:#eee;text-align:center;cursor:pointer\" onClick=\"window.location.href=click.php?g=http://refererurl.com/;return false;\"><a href=\"http://refererurl.com/\" onClick=\"window.location.href=click.php?g=http://refererurl.com/;return false;\" style=\"color:#333;font-weight:bold\">advert</a></div>');"; ?> 
+0

我在第一篇文章的評論中已經提到 - 我逃過了。我更新了我的帖子。 – TheBlackBenzKid 2011-12-28 23:15:37

0

< PHP的回聲「< SCRIPT>(函數(){文件撰寫(」 < DIV ID = \ 」Adblock的\「 類= \ 」ha_adblock121_45 \「 風格= \ 「width:125px; height:125px; background:#eee; text-align:center; cursor:pointer \」onClick = \「window.location.href = click.php?g = http://refererurl.com/; return false; \「> </a> </div>');})(); </script>」; ? >

呼叫自動功能,將執行每當頁面加載.. :-)