src为null的iframe中的Javascript文件的路径

Path of a Javascript file inside an iframe with null src

本文关键字:Javascript 文件 路径 中的 iframe null src      更新时间:2024-06-23

让我们考虑一下这种情况。

我有一个叫/jscript的文件夹,里面有两个文件,分别叫my_js_file1.jsmy_js_file2.js

我还有一个页面,/index.html,像这样:

<html>
    <head>
        <script type='text/javascript' src='jscript/my_js_file1.js'></script>
    </head>
    <body>
        <iframe src=''/>
    </body>
</html>

现在,让我们假设,通过my_js_file1.js,我想向iframe的<head>标签添加以下标签:

<script type='text/javascript' src='my_js_file2.js'></script>

上述src是否正确?如果是,则表示iframe中的文档引用了javascript文件的"工作目录"。

如果前面的解决方案无效,那么下面的解决方案有效吗?

<script type='text/javascript' src='jscript/my_js_file2.js'></script>

(最后一个的工作意味着"工作目录"与html文件相同)

不管结果如何,是否有人能够解释正确的行为?

jscript/my_js_file2.js应该是正确的。

文档和元素确实有一个所谓的"基本URI"。它用于解析像您这样的相对链接。

文档的基本URL默认为文档的地址(如由浏览器显示并在window.location中可用),但可以更改为默认值:

•当HTML<基本>在文档中找到标签
•当这是一个动态创建的新文档时。

—Node.baseURI-Mozilla开发者网络(MDN)

假设HTML文件不包含任何<base>标记,则基本URI为/index.html

您可以通过验证document.baseURI:的值来证明这种行为

<!doctype html>
<html>
    <head>
        <script src="subdir/include.js"></script>
    </head>
    <body>
    </body>
</html>

include.js:

alert(document.baseURI);