0

チャット ルームの閲覧者数をカウントするカウンターがあり、メインの Web サイトのチャットの上に表示されます。これは、メインの Web サイトで実行されているスクリプトから json を介して取得されます。ユーザーがチャットをポップアウトしたい場合は、ボタンをクリックしてポップアップする必要があります。問題は、メインの Web サイト スクリプトからビューアーの値を取得し、それを更新せずにポップアップ内の div に動的に配置する必要がある場合に発生します。

メインのWebサイトではすでに毎秒呼び出されているため、jsonを2回呼び出さないようにしていました。ポップアップのテキストの色を外部のjavascriptファイル(ポップアップにリンクされていない)から動的に変更することを確認する簡単なテストを作成しようとしました。

私の外部 JavaScript ファイルには、ユーザーがリンクをクリックしたときに呼び出される関数があります。

function popUp() {
    newwindow=window.open('mod.html','test','height=200,width=150');
        newwindow.focus();
    $('#blue').css('color', 'red');
    return false;
}

これは私の mod.html の内容です

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <div id="blue" style="color:blue">
        This is Blue
    </div>
</body>
</html>

エラーは発生していませんが、結果も得られていません...

TL;DR ポップアップでリンクされていない外部の JavaScript ファイルからポップアップのテキストを変更するにはどうすればよいですか。

4

1 に答える 1

1

簡単に言えば、ポップアップは完全に独立したブラウザー ウィンドウであるため、すべてを自分で行う必要があるため、このページの DOM でも ajax 呼び出しを行う必要があります。

長い答えは、まったく新しいブラウザー ウィンドウを開くよりも、指定されたコンテンツを含む CSS で適切にスタイル設定された "ポップアップ" div の方がおそらく優れているということです。http://jqueryui.com/demos/dialog/を参照してください。div ポップアップがある場合、それは別の div であり、ページ上の他の div と同じように強調表示したり、コンテンツを変更したりできます。

于 2012-04-28T08:08:13.757 に答える