首页 > 解决方案 > 使用 chrome 浏览器打开保存的 html 页面时 JavaScript 元素未捕获的 ReferenceError

问题描述

我试图以这样一种方式存储 HTML 页面和相关的 JavaScript,当我使用任何浏览器在本地打开它时,页面会在浏览器中加载而没有任何未捕获的 ReferenceError。

例如,当我通过右键单击并另存为使用 chrome 保存页面时,页面的 HTML 页面和相关资源将被下载并保存到本地目录,并且 HTML 中的所有引用都指向该本地资源目录。但是,如果我在 chrome 中打开 HTML 页面,它会在控制台中显示各种 JavaScript 元素的 Uncaught ReferenceError。

我尝试使用 Django 加载页面,将 HTML 页面保存在模板目录中,并更改页面以从 static/js 目录加载资源。通过浏览器访问 URL 时仍然出现相同的错误。

例如,我手动将 in.yahoo.com 页面保存为 yahoo.html 和 yahoo_resource_dir。

保留 yahoo HTML 是 Django 项目,如下所示,

视图.py

def malurl(request):
    html = TemplateResponse(request, "yahoo.html")
    return HttpResponse(html.render())

网址.py

urlpatterns = [path('malicious/', malurl)]

html页面:

{%load static%}
<Other HTML elements>
<script ref={% static 'yahoo_resource_dir/TestJavaScript.js' %}>

预期结果:页面应该打开,所有依赖资源都保存在资源目录中,没有 JavaScript 异常,如 Uncaught ReferenceError。

标签: javascripthtml

解决方案


推荐阅读