我这个小功能

function makewindows(){
child1 = window.open ("about:blank");
child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
child1.document.close(); 
}

哪些任何我尝试,简单地输出该PHP代码作为HTML源,而不是PHP代码的结果。这是以前工作正常,我不知道我已经改变了导致这种行为。

我现在已经粘贴的所有代码。通过调用updateByQuery,防止makewindows被解析correctly..I想链接产生错误。我不知道什么是错的但是updateByQuery:

function updateByQuery(layer, query) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random();
   update(layer, url);
}
有帮助吗?

解决方案

我假设你仍然有它在由PHP解析,像别人已经说过的文件。那么它可能是上面的东西,混淆了PHP解析器所以它不承认PHP标签这个代码片断。

要测试,尝试输出别的此功能之前,也许只是一个意见或东西。

此外,使用“VAR”客户端1之前,否则客户端1将在全球范围内。

<强>更新1 既然你想插入一块PHP代码就坏了,那么问题是,因为它应该在服务器不解析文件。

要测试,如果这个服务器是分析你的.js文件(它不是默认设置,我相信),创建一个新的文件: test.js

<?php echo "This is a test"; ?>

在浏览器中打开 test.js 文件并查看页面源代码。如果有PHP标记您的服务器不解析.js文件。

<强>更新2 如果PHP在.js文件的工作,尝试重写这样的功能(抱歉,我没有测试过,因为我没有访问的PHP服务器现在)

<?php    
echo "function makewindows(){var child1 = window.open (\"about:blank\"); " .
"child1.document.write(\"" . htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES) . "\");" . "child1.document.close(); }";    
?>

其他提示

您最近搬到这个文件出来一个PHP解析的文件(即一个.phtml / .PHP),并成为一个.js文件?请注意,您预计要执行必须由PHP解析器交付给客户之前解析所有的PHP。如果它最初是一个PHP文件,那么它就会被解析/执行,并且工作得很好。

然而,.js文件都没有,在默认情况下,通过PHP解析。也许他们在一个点,但您的服务器管理员最近升级了什么,失去了这种行为?你可能能够使用本地配置文件(在Apache中,htaccess的),以重新启用它。

此代码必须在由PHP被发送到浏览器之前解析的文件。确保它具有“.php”结尾(或阿帕奇/(或其他)配置任何扩展它是使用通过PHP把)。此外,还要确保PHP安装正确和工作。

请确认您是从网络服务器运行页面像这样的:直接从文件本身http://localhost/yourpage.php,而不是像这样:file://yourpage.php

我不知道这是否会帮助,但最佳实践要求,只要你使用JavaScript编写一个新的窗口,你应该打开和关闭文档。你可以试试这个?

function makewindows(){
  var child1 = window.open ("about:blank");
  child1.document.open();
  child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
  child1.document.close(); 
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top