1

2 つの異なる HTML ファイルを認識している JavaScript ファイルを持つことは可能ですか? そして、どうすればこれを行うことができますか?

2ページにできるようにしたいです。index.html と pictures.html。index.htmlの表示プロパティを変更するindex.jsがあります(人に基づくデータをテーブルに入れ、見栄えを良くします)。この現在の index.js ファイルも pictures.html ファイルを編集してそこの情報を変更できるようにしてほしい。index.html は pictures.html にリンクして人物の写真を表示します (保存した人の名前に基づいて、smith1.jpg、smith2.jpg、reagan2.jpg など)。このjavascriptファイルは、index.htmlに「住んでいる」にもかかわらず、2番目のファイル(pictures.html)のIDまたはクラスに基づいてDOM要素を取得できるということはありますか? 私が住んでいると言うと、index.htmlページの上部で呼び出されます。

ありがとう

4

4 に答える 4

2

スクリプトが何らかの接続方法でロードされた場合、スクリプトは別のページの要素にアクセスできます。

たとえば、を使用してポップアップを作成する場合var popup = window.open()、戻り値には開いたポップアップへの参照が含まれ、これによりポップアップ内の要素にアクセスできます。例popup.document.getElementById('something'):フレームやiframeなどに読み込まれたページには、同様のアクセス方法があります。

そうです、ページが2番目のページをロードする場合、そのスクリプトもそこで機能します。ただし、スクリプトからポップアップを開いたり閉じたりする以外に、これを避けることをお勧めします。スクリプトはそのページのボックス内にとどまる必要があり、別のページでより大きな操作を実行する必要がある場合は、通常、コードアーキテクチャを少し変更する必要があることを意味します。

于 2012-04-09T22:19:12.243 に答える
2

目標を達成するには、サーバー側のプログラミングを調べる必要があります。 http://en.wikipedia.org/wiki/Server-side_scripting

...または、「ページ」が 1 つの実際のページの個別のビューであるか、バッキング データ構造から生成されるクライアント側アプリケーションを作成することもできます。作成/編集されたものを保持したい場合でも、サーバー側のプログラミングが必要です。

于 2012-04-09T22:13:32.953 に答える
1

html5 (テクノロジーのグループ) postmessage api も使用できます。これにより、別のページにメッセージを送信でき、そのページで、メッセージの処理方法を認識しているイベント ハンドラーを定義できます。

これはドメイン間でも機能します。

Google 経由でランダムに見つけた例を含むブログを次に示します

于 2012-04-09T22:36:06.100 に答える
1

実際の HTML ファイルを編集することが目的の場合、クライアント側では不可能です。ユーザーが別のページで行ったことに応じて画像を表示することが重要な場合は、多くのオプションがあります。

  • 事前に確立されたスキームで適切な画像ファイルのセットにアクセスするために、Cookie を介してユーザーがテーブルに入力したもののような小さなデータ セットを渡すことができます。これは実際には、ユーザーが Cookie を消去するまで持続します。

  • JS のみを含む親要素を使用して、同じドメインの iframe 要素で両方のページをラップできます。これにより、ページ間でデータを保持し、iframe の読み込みイベントに反応することができますが、クライアント側の JS のすべてと同様に、ページをリロードするとすべて消えてしまいます。

  • 新しいブラウザには、完全なセキュリティの悪夢ではない、機能するファイル アクセス オブジェクトがあります。これらは新しく、非標準であるため、複数のブラウザーで動作させるには何らかの作業が必要です。これは、ユーザーがサイトに戻ったときにアップロードするように求められる可能性が高い情報を含むファイルを保存するために使用できます。

  • データが機密でない場合は、創造性を発揮し、別のサービスを使用してデータのコレクションを隠しておくことができます。Twitter API を使用して、Twitter アカウントの一般に公開されているページにデータをツイートします (ここで分離されたクラス プロジェクト以外のことを行う場合は、利用規約を確認してください)。次に、一般に公開されている URL で Ajax get 要求を実行し、Twitter データの HTML を解析します。

私が調べたい他のもの:dataURI、html5ローカルストレージ。

注: これらはどれも、ユーザーがどこからアクセスしても、データが永続的である、または何らかの方法で安全であることが期待されるプロのサイトに対して真剣に検討するアプローチではありません。

于 2012-04-09T23:17:06.147 に答える