在JavaScript新窗口中显示php内容

时间:2011-10-10 14:20:16

标签: php javascript

这是我到目前为止的代码:

$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;   

$ data包含由php脚本生成的完整html文档。

这似乎不起作用,但我认为你可以理解我正在尝试做的事情。

2 个答案:

答案 0 :(得分:0)

“数据”是从另一个脚本生成的......我们可以看到吗? 更新: 你不能将 head 中的“内容”传递给 body ,就像 null 一样,尝试作为函数预览的给定参数。 尝试在执行OPEN()的地方访问它。

或者将“数据”存储在隐藏的div中或通过AJAX(最好)获取它。 内容2 = NULL; 含量= “asdsadas”;

$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;  

答案 1 :(得分:0)

我们必须知道$ data包含什么,但你肯定要逃避引号或特殊字符...