在JavaScript新窗口中显示php内容
以下是我目前掌握的代码:在JavaScript新窗口中显示php内容,php,javascript,Php,Javascript,以下是我目前掌握的代码: $output = <<<BLOCK <html> <head> <title>Preview!</title> <script type="text/javascrit"> var content = $data; </script>
$output = <<<BLOCK
<html>
<head>
<title>Preview!</title>
<script type="text/javascrit">
var content = $data;
</script>
</head>
<body>
<a href="" onclick="preview()">Click Me!</a>
<script type="text/javascript">
function preview(){
var preview = window.open('','preview','scrollbars=1,height=500,width=500,resizable=1');
preview.document.open();
preview.document.write(content);
preview.document.close();
}
</script>
</body>
</html>
BLOCK;
echo $output;
$output=“数据”是从另一个脚本生成的……我们能看到它吗?
更新:
您不能将“内容”从头传递到体,就像这样,它是null,尝试作为函数预览的给定参数。
尝试在执行OPEN()操作的位置访问它
或者将“数据”存储在隐藏的div中,或者通过AJAX获取(最好)。
content2=null;
content=“asdsadas”
$data=“asdsadas”;
$output=”
预览
var content2='“$data.”
函数预览(){
var content='“$data.”
var preview=window.open(“”,'preview','scrollbars=1,高度=500,宽度=500,可调整大小=1');
preview.document.open();
预览。文档。编写(内容);
预览。文档。编写(内容2);
preview.document.close();
}
";
echo$输出;
我们必须知道$data包含什么,但您肯定必须避开引号或特殊字符…“javascrit”->“javascript”,但我怀疑这是您的问题。“似乎不起作用”是一个应该在某个时候被禁止的短语,因为它的意义太小了。如果它不起作用,会发生什么?会弹出一个新窗口,地址为:空白,标题为无标题,内容为空白。-$data中的内容只是简单的html,没有什么特别的。嗨,KA_lin,你帮了大忙,如果允许的话,我想单独给你评分。我用完全不同的方式解决了我的问题。在您的示例中,传入“普通”字符串不会导致任何问题。当我试图传递一些html标记/内容时,我开始遇到问题——我有200多行html内容。我遇到的一些错误包括:未终止的字符串文字、未定义的函数和语法错误。(我可能早就应该提到这些)我做了两件事来解决我的问题:1。将字符串分解为数组2。对每个数组值运行addslahes。然后我使用document.write输出数组的每个元素。再次感谢
$data="asdsadas";
$output = "
<html>
<head>
<title>Preview!</title>
<script type=\"text/javascript\">
var content2 = '".$data."'
</script>
</head>
<body>
<a href=\"\" onclick=\"preview()\">Click Me!</a>
<script type=\"text/javascript\">
function preview(){
var content = '".$data."'
var preview = window.open('','preview','scrollbars=1,height=500,width=500,resizable=1');
preview.document.open();
preview.document.write(content);
preview.document.write(content2);
preview.document.close();
}
</script>
</body>
</html>";
echo $output;