簡單的答案是'不,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