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

Render .mht files dynamically without load/iframe/embed

本文关键字:加载 iframe 嵌入 mht 文件 动态      更新时间:2024-05-20

我有.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);

j查询:

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

但它只显示文件的内容,不呈现它。有什么建议可以渲染吗?

除非您使用 <iframe>,否则这是不可能的。浏览器不会在同一页面中解析HTML和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);