动态渲染.mht文件,无需加载/ iframe / embed

时间:2016-04-12 10:55:53

标签: javascript php jquery iframe

我有.mht文件存储在我服务器上的文件夹中。此文件夹在.htaccess中有一条规则,内部只允许localhost

我需要根据用户操作在我的网站上呈现文件。 <iframe><embed>以及jquery .load()无效,因为请求不是来自localhost

我正在尝试通过phpscript和ajax调用来获取文件的数据:

PHP:

$file = htmlentities(filter_var($_GET['url'], FILTER_SANITIZE_STRING), ENT_QUOTES);
$content = file_get_contents(".".$file);
$return = array("content" => $content);
echo json_encode($return);

jQuery的:

$.getJSON('queries.php',{q: 'getFile', url: file},
        function(data){
            $('#file_panel').html(data.content);
        }
);

但它只显示文件的内容,但不会呈现它。有任何建议让它呈现吗?

1 个答案:

答案 0 :(得分:0)

除非您使用<iframe>,否则无法实现。浏览器不会解析HTML&amp; MHT在同一页面内。

试试这个,

  

PHP文件

$file = htmlentities(filter_var($_GET['url'], FILTER_SANITIZE_STRING), ENT_QUOTES);
echo file_get_contents(".".$file);
  

JS

$("#frame").attr("src", "queries.php?url="+file);