简单的答案是'不,javascript明确禁止访问本地文件系统,所以即使它们驻留在同一个文件夹中,a.html也无法读取b.html的内容'。但是,如果这两个服务都是由Web服务器提供的,那么您可以随时要求它为您提取a.html,然后使用javascript解析它,并向用户隐藏信息,然后提取信息你需要它。
看看下面一个相当笨拙的例子,使用不可见的iframe HTML元素 - 基本上是一个容器,你可以放在页面上并加载不同的页面,然后访问它的DOM树。 (有限制,以防止XSS攻击,但因为这两个a.html和b.html来自同一个域名,这些都不在你的情况适用。)
a.html
<!doctype html>
<html>
<head>
......
</head>
<body>
...
<div id=aa>
Some interesting stuff...
</div>
...
</body>
</html>
b.html
<!doctype html>
<html>
<head>
......
</head>
<body>
...
<iframe src="a.html" onLoad="alert('The contents of div with id=aa from a.html is: ['+this.contentDocument.getElementById('aa').innerHTML+']');"></iframe>
...
</body>
</html>
这里,它加载整个文档a.html到元素页面b.html(您可以通过使无形的,比如CSS),一旦它的加载,它提取最后从页面a.html(现在可通过当前的b.html页面的DOM中的iframe对象访问)访问DOM树中的ssary div,并利用其innerHTML属性证明它可以访问它。
此处,页面b.html上的iframe对象的contentDocument属性指向我们已加载到iframe中的页面的普通“文档”对象,为我们提供了处理任何页面时的所有选项有它的文档根。
这个例子当然很多都很笨拙,尤其是你在浏览器中加载了两个页面(b.html和a.html)(尽管a.html是不可见的),而不是一个,这就是效率不高。
但它是一个开始和真的简单的场景可能是适当的,如果单纯的解决方案)
来源
2017-04-02 21:59:22
Max
你可以只用拉AJAX的文件及掌掴内容到页面上的容器。 – CollinD