2017-04-02 5 views
0

完成したページa.htmlが与えられた場合、bがa.htmlからデータを取り出してb.htmlのウィンドウに出力するようなJavaScriptを含むb.htmlを構築できますか?つまり、src = whatever.jsのように、他のHTMLページの変数を宣言することができるので、このような行が動作するようになります(明らかにそうではありません)。HTML/JavaScriptペアが別のHTMLファイルを参照できますか?

<html> 
<head> 
    <title>b.html</title> 
</head> 
<body> 
    <script> 
    var images = a.document.body.getElementsByTagName ("img"); 

など

おかげで再び任意の助け!上記の「あなたの答えがあるかもしれませんが、私は探していないJQueryを使用しています。

+0

ためにあなただけのAJAXを使用してファイルを引っ張ることができ、ページ上のコンテナにコンテンツを平手打ち。 – CollinD

答えて

1

単純な答えは「いいえ、javascriptはローカルファイルシステムへのアクセスが明示的に禁止されているため、a.htmlがb.htmlの内容を同じフォルダにローカルに置いても読み込むことはできません。

しかし、もし両方がウェブサーバによって提供されているのであれば、あなたにはいつでも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> 
ここ

<!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> 

b.html

、それは(あなたはを通して見えなくすることができ、CSSを言う)ページb.htmlの要素に文書全体のa.htmlをロードし、それがロードされていたら、それは抽出ネイスssary divはページa.htmlのDOMツリー(現在のb.htmlページのDOM内のiframeオブジェクトからアクセス可能)からアクセスし、innerHTMLプロパティを使用してアクセスできることを証明します。

ここで、ページb.htmlのiframeオブジェクトのcontentDocumentプロパティは、iframeに読み込んだページの通常の「ドキュメント」オブジェクトを指しています。ドキュメントルートを持つ

この例はもちろん、多くの点で不器用です.2つのページ(b.htmlとa.html)をブラウザに(a.htmlは表示されませんが)1つではなく読み込むことが重要ですほとんど効率的ではありません。

しかし、それはスタートだし、それがあれば十分な素朴な解決策になるかもしれない本当にシンプルなシナリオ)

+0

あなたの簡単な答えと長い方の両方が私の質問に満足しました。ありがとう! – failure

-1

このような問題に対しては、1.xを使うことをお勧めします。同じコントローラを共有する複数のhtmlファイルがあるかもしれません。 ng-modelディレクティブと補間({{}})を使用すると、結果を得ることができます。

関連する問題