Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何链接到其他页面中的脚本?_Javascript_Html - Fatal编程技术网

Javascript 如何链接到其他页面中的脚本?

Javascript 如何链接到其他页面中的脚本?,javascript,html,Javascript,Html,如果我有一个HTML文档,例如: <!DOCTYPE html> <head> <!-- title, style, etc. --> </head> <body> <p id="content">Content</p> <button onclick="">Change Content</button> </body> 内容 更改内容 是否可以链

如果我有一个HTML文档,例如:

<!DOCTYPE html>
<head>
    <!-- title, style, etc. -->
</head>
<body>
    <p id="content">Content</p>
    <button onclick="">Change Content</button>
</body>

内容

更改内容
是否可以链接到其他HTML文档中的脚本(请注意文档头部的
标记):


函数changeContent(){
document.getElementById(“内容”).innerHTML=“新内容”;
};
这样,第一个文档正文中按钮的
onclick
可以更改为
“changeContent()”
,而无需将
changeContent()
函数放在第一个文档的开头

编辑:
如果第一个文档位于一个
文件中,该怎么办?

您可以将该函数添加到一个单独的JavaScript文件中,该文件从两个html文件链接(使用带有src属性的脚本标记)


否则,该函数将不会在当前页面中定义。

您可以做的是,如果该页面不在服务器上,您可以获取该页面的内容(带有js的页面)。否则,您可以加载外部js文件,如:

var imported = document.createElement('script');
imported.src = '/path/to/imported/script';
document.head.appendChild(imported);
根据文件是否在服务器上

如果它在一个外部服务器上,你可以尝试获取内容并删减
之前和之后的所有内容
实际上有点脏,但我认为这是可能的。您可以像上面的示例那样动态创建临时脚本。。。然后用鼠标点击


使用jquery可能更容易。在这种情况下,您还需要使用ajax:)

我已经测试了以下内容:

HTML文件1(test_1.HTML)

嗯,这不是一个干净的解决方案,但在这种情况下,它确实有效


注意:我所做的只是包含一个
.html
文件,而不是
.js
文件。您只能在这个
test_2.html
文档中使用非html语法。

问题是我不能这样做。@BobTheAwesome,为什么不能这样做?如果您将整个其他html文件url作为脚本标记的src,那么函数是否可以在页面中定义,这可能会很有趣。我从来没有试过。但是看起来在本地复制函数会更简单。获取其他页面的内容怎么样。。。我知道它有点脏,但他可以获取内容,然后将其剥离到脚本部分,并将其“动态”添加到@F.Müller中。我仅限于HTML文档(我无法保存Javascript文件)。好的,这解决了部分问题。。。但是,如果第一个文档在
中会怎样?那么您必须在iframe源文件中包含test_2.html文件。@BobTheAwesome为什么要这样做?你问“如何将一个js代码从一个html页面加载到另一个html页面”我的解决方案中的行为几乎等同于一个真实的js文件,你不想在js文件中有一个iframe,是吗?在普通html文件中的第一个页面(没有函数)。第二个页面(具有该功能)通过
包含在服务器上的页面中。
var imported = document.createElement('script');
imported.src = '/path/to/imported/script';
document.head.appendChild(imported);
<!DOCTYPE html>
<head>
    <!-- title, style, etc. -->
    <script src="test_2.html"></script>
</head>
<body>
    <p id="content">Content</p>
    <button onclick="changeContent()">Change Content</button>
</body>
function changeContent() {
  document.getElementById("content").innerHTML = "New Content";
};