當試圖做這樣的事情
...
document.write("<!DOCTYPE html lang=\"de\"> ... </script></body></html>");
我們不應該包括在<script>...</script>
標籤你的字符串文字。 HTML將捕獲結束腳本標記並將其解釋爲有效標記。我之前看到過這個問題,一種解決方案是在JavaScript中將腳本標記字符串「分解」爲類似「<」+「script>」和「<」+「/ script>」的字符串。
但是,更好的解決方案是在PHP端使用base64_encode(),然後在JavaScript端使用(所有主流瀏覽器都使用)。這將防止標記干擾您的JavaScript。
PHP文件:
....
document.write(window.atob("<?php echo base64_encode($cURLString);?>"));
渲染HTML:
....
document.write(window.atob("2lkZSB0aGUgSmF2YVNjcmlwdC4NCg0KSG93ZXZlc
iwgYSBiZXR0ZXIgc3VnZ2VzdGlvbiBpcyB0byB1c2UgYmFzZTY0X2VuY2234nj234
9kZSgpIG9uIHRoZSBQSFAgc2lkZSwgdGhlbiB1c2UgYXRvYigpIG9uIHRoZSBKYX3
ZhU2NyaXB0IHNpZGUuIFRoaXMgd2lsbCBwcmV2ZW50IG1hcmt1cCBmcm9tIGludGV
aW5nIHdpdGggeW91ciBKYXZhU2NyaXB0Lg=="));
你爲什麼不只是捲曲的代碼和相同的PHP文件中的回聲嗎?然後,您可以將此PHP文件包含在iframe中,而不使用任何JavaScript。 – dsuckau
好主意!這很簡單:-) – zuluk
或使用PHP'file_get_contents'。 – SaidbakR