0

所以我一直在一個widget基於關閉一個在這裏列出:http://php-drops.blogspot.com/2011/04/creating-widget-with-javascript-and-php.html通過谷歌瀏覽器傳遞與JavaScript參數

用戶我試圖創建窗口小部件的預覽功能,使用戶可以檢查它的外觀喜歡。我這樣做的方式是將「複製和粘貼」代碼部分傳遞給「預覽」頁面可以抓取和回顯的參數。這是完美的Firefox和IE,但在Chrome中顯示一個空白頁面。

當我在Chrome的空白頁面上查看源代碼時,源代碼與firefox和ie中的相同。當我將「查看頁面源代碼」中的代碼複製並粘貼到新頁面時,它會在Chrome中完美顯示。

任何人都可以指向正確的方向,我應該尋找什麼?我是否通過在參數中傳遞JavaScript來打破某種規則 - 一條firefox和ie並不關心Chrome的規則?

這裏是什麼,我試圖做一個簡化版本:

http://imaginarydomain.com/widget/example.php?widget_script=%3Cscript+type%3D%22text%2Fjavascript%22%3Edocument.write( '你好%20world'),對鉻%3C%2Fscript%3E

查看網頁源代碼會顯示:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
     <html><head></head><body><script type="text/javascript">document.write('hello world')</script> 
     </body></html> 

但該頁面將爲空白。

非常感謝!

+0

在編碼之前,您可能需要通過將''''更改爲'\'來避開單引號。 – Dutchie432 2012-07-26 15:47:44

回答

0

這可能是由於Chrome的XSS攻擊過濾器,它阻止了JavaScript傳遞。

當我檢查了在Chrome的JavaScript控制檯,我得到了

「爲由,拒絕執行內請求中找到腳本的一個JavaScript腳本。源代碼。」

在對此進行快速掃描後,我發現沒有任何選項非常有吸引力。