banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

JSを使用してWordPressのページナビゲーションの新しいページの異なる開き方を実現する

最近、CG の日本語のトレーニングコースが始まりました。毎日多くの課題をこなす必要があるため、最近はあまり更新できません。ご了承ください。昨日、友人の小さな問題を解決しました。CG は問題の解決方法が非常に簡単で実用的だと感じましたので、皆さんもよく遭遇するかもしれません。ここで共有します。問題は次のとおりです。WordPress のブログシステムで PHP によって自動生成されるホームページのナビゲーションバーには、複数のページのナビゲーションのリンク先を異なる方法で開くことができるようにしたいです。例えば、現在のページと新しいページの 2 つの方法です。HTML を知っている方は、taget="_self" と taget="_blank" を使用して解決するかもしれませんが、CG は WP テーマの自動生成コードを見た後、解決が非常に面倒なことに気づきました。なぜなら、このテーマでは、PHP による自動ナビゲーションバーを HTML だけで実現する場合、1 つの方法しかありません。この方法は却下されました。HTML ではできないので、ページの内容を変更せずに JS コードを追加することでポップアップを実現し、その後親ページに戻ることができます。新しく開かれたページも同様にポップアップ JS コードを含むため、再帰が発生しますが、ウィンドウ名の検証を設定することで問題を解決できます。

以下は JavaScript のコードです:

var pageName="demo" // ウィンドウ名
if(window.parent.name != pageName){
window.open (document.location,pageName); // ポップアップウィンドウを開く
window.history.back () ; // 前のページに戻る
}

説明:JS のポップアップウィンドウの方法は、IE6 以上のバージョンではツールバーまたは IE 自体によって禁止される場合があります。したがって、テキストページの場合は showModelDialog に変更して実現できます。皆さんが頻繁に淘宝にログインする場合、淘宝が使用している showModelDialog を見つけることができます。まず、ポップアップが実現可能かどうかを判断し、許可されない場合は別の方法に変更します。

以下は JavaScript のコードです:

var pageName="demo" // ウィンドウ名
if(window.parent.name != pageName){
window.showModelDialog (document.location,pageName);// ポップアップウィンドウを開く
window.history.back () ; // 前のページに戻る
}

簡単な JS の説明です。ページの一意の識別子を保存するための変数 pageName を定義し、次に再帰を排除するための条件分岐があります。その後、ポップアップウィンドウが表示され、最後に戻るだけです。ハハ。

使用方法は少し面倒ですが、各ページに個別に JS スクリプトを追加する必要があります。ページを編集する際に HTML ソースコードエディタを使用し、ページに一意の名前を選択して pageName を変更し、最後にページの先頭に追加するだけです。

強制的なポップアップを実現する場合は、Flash を使用することを検討することもできます。それは非常に困ったことですが、実現するのは難しくありません。CG は最近、方法を共有するために掲載する予定ですので、お楽しみに。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。