php将页面加载到div中,java脚本不工作
我使用ajax将页面加载到div中 页面加载正常 但是我不能运行php和javascript 在加载的页面中 在服务器中,我像这样加载页面php将页面加载到div中,java脚本不工作,php,javascript,ajax,Php,Javascript,Ajax,我使用ajax将页面加载到div中 页面加载正常 但是我不能运行php和javascript 在加载的页面中 在服务器中,我像这样加载页面 file_get_contents('../' . $PAGE_URL); 在浏览器中,我正在设置div的内容 使用 并为该div设置innerHTML 使用检索信息 但是当我得到新的内页 没有php或java脚本在工作 假设是这样的吗?我认为php不会工作,因为您处理它的方式只是文本。我建议使用类似于include('../.$PAGE\u URL)的东
file_get_contents('../' . $PAGE_URL);
在浏览器中,我正在设置div的内容
使用
并为该div设置innerHTML
使用检索信息
但是当我得到新的内页
没有php或java脚本在工作
假设是这样的吗?我认为php不会工作,因为您处理它的方式只是文本。我建议使用类似于
include('../.$PAGE\u URL)的东西
应该解析php。
javascript问题可能与您正在div中加载
标记有关,我不确定这样做时会发生什么,但它不应该正常工作。尝试使用某种类型的
标记。为了正确执行javascript,您必须等待浏览器完成加载页面
此事件名为onload()
。您的代码应在此事件上执行
<?php
$file = false;
if(isset($_GET['load'] && is_string($_GET['load'])) {
$tmp = stripclashes($_GET['load']);
$tmp = str_replace(".","",$tmp);
$file = $tmp . '.php';
}
if($file != false && file_exists($file) && is_readable($file)) {
require_once $file;
}
?>
现在,我相当确定其中的某些部分是不安全的,您可以有一个允许需求的白名单。理想情况下,它也应该在特定的目录中查找文件。老实说,我也不太确定是否要直接将responseText转储回DIV,因为XSS的安全性已经成熟。但这一天已经结束了,我还没有找到任何关于这一点的资料。请注意,如果不对此进行任何检查,用户可能会被引导到使用file\u get\u内容的第三方站点,这将是一件非常糟糕的事情。您可以在PHP中评估文件获取内容请求,该请求。。。很好,非常非常糟糕。例如尝试
<?php
echo file_get_contents("http://www.google.com");
?>
但我恐怕我必须在这里问,你为什么要这样做?这似乎是实现超链接的一种非常迂回的方式
这是AJAX吗?我删除了所有html和正文标记,并在我的服务器中添加了围绕所有内容的框架。我将“include”方法放在“file\u get\u contents”之前,但现在我根本看不到页面。不要使用
file\u get\u contents
只需使用include
。但是为什么不使用帧
或iframe
?使用javascript添加元素,然后将其源代码设置为所需的任何文件。除非出于某种原因您需要从服务器调用该页面,否则这将正常工作。我在包含我的文件[Thu Aug 05 15:21:24 2010][error][client 10.0.0.2]未扩展的输出时遇到问题:\r\n\r\n\r\nphp在尝试包含我的页面时给我一个错误:[Thu Aug 05 15:38:01 2010][error][client 10.0.0.2]
未扩展的输出:\r\n\r\n\r\n\r\n\r\n为什么不编辑您的问题并添加您尝试的代码和错误。我在左侧有一个菜单,而不是加载包含菜单的完整html,我只请求替换content div,使用ajax,我可以像getPageContent(&$response)这样做{$PAGE_URL=$\u POST['PAGE_URL'];ob_start();require_once('../.$PAGE_URL);$contents=ob_get_contents();ob_end_clean();$response->fields->frame_main=$contents;}但我必须将我的javascript与主页分开,有什么办法避免这种情况吗?
target = document.getElementById('page');
target.innerHTML = response.responseText;
<?php
echo file_get_contents("http://www.google.com");
?>