1

ユーザーが WordPress メニューの「FORUM」リンクをクリックしたときに、JavaScript メッセージ ボックスを表示したいと考えています。

メッセージ ボックスには、「この Web サイトを離れます...」などのメッセージが表示され、ユーザーがメッセージ ボックスを確認すると、新しいタブで外部リンクが開きます。

これを試してみましたが、ウェブサイトを離れたりページをリロードしたりするたびに、メッセージボックスが表示されます。このメッセージ ボックスを 1 つの WordPress メニュー項目に配置したいだけです。

これを行うためのチュートリアルをいくつか見ましたが、WordPress メニューでは実行できませんでした。

javascript:void(0)WordPress は、URL 部分の他の JavaScript 関数を認識しません。

何か案は??

4

4 に答える 4

1

jQueryをロードしましたか?フォーラムのリンクはどこにありますか?コードはどこにありますか?

<a href="http://www.yourforum.com" onclick="return confirm('Are you sure you want to leave?');" />
于 2012-08-16T08:25:25.950 に答える
1

ページのどこにでも JavaScript を追加できる場合は、次の操作を実行できます (jQuery が必要ですが、それが読み込まれていると言っていました)。

$("a[href='http://example.com/forum']").click(function() {
    alert("Good bye!");
    return true;
});
于 2012-08-16T09:49:18.007 に答える
1

最後に、私はそれを機能させました。順を追って説明しているので、同様の問題を抱えている人はこれを解決できます。

  1. JavaScript 関数が必要なwordpress#メニューの URL を入力します。
  2. ソース コードからこのメニュー URL (li ID) リンクを追跡します。私の場合はリIDですmenu-item-88。(この ID は wordpress によって自動生成され、常に一意です)
  3. </head>現在のテーマの head タグ (open header.php find ) の末尾の前に次のコードを配置します。
  4. menu-item-88menu-idを自分のものに変更することを忘れないでください。

<script type="text/javascript">

jQuery.noConflict();
jQuery(document).ready(function(){
var menuID = jQuery('#menu-item-82');

findA = menuID.find('a');

findA.click(function(event){
if(confirm("YOU ARE LEAVING THE WEBSITE" + '\n' + "" + '\n' + "You are about to leaving the website to go to the external forum" + '\n' + "" + '\n' + "The FORUM will open in a new tab")) 
{
window.open('http://www.yourforum.com/','_blank'); //This will open the website in a new tab
}

});
});
</script>

これには jQuery が必要です。したがって、jQuery がロードされていない場合は、次の行も頭に追加してください。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

これにより、ウェブサイトを離れようとしていることがわかります。[OK] をクリックすると、指定されたリンクが新しいタブで開きます。

Ok。それだけです..これで魔法がかかります。

于 2012-08-16T10:25:39.927 に答える
1

リンクの場所を次のように設定します。

javascript: if (confirm('Are you sure you want to leave?')) {window.open('http://www.yourforum.com','_blank');}

次のようなhtmlを生成する必要があります。

<a href="javascript: if (confirm('Are you sure you want to leave?')) {window.open('http://www.yourforum.com','_blank');}">Link</a>

私はこれを JS フィドルでテストしましたが、うまくいくようです。これをデータベースのリンクの場所として配置できるはずです。

編集:

// for a new tab
window.open(url,'_blank');
// for a redirect in same window
window.location=url;
于 2012-08-16T09:35:25.293 に答える