web-dev-qa-db-ja.com

ページのロード前にJavaScript Cookieが設定されていることを確認するにはどうすればよいですか?

単純なjavascript cookieを設定し、jquery uiダイアログを起動する前にそれをチェックしています

(function ($) {
  Drupal.behaviors.setPopupConfig = {
   attach: function (context, settings) {
   if ($.cookie('modalServed') == null) {
    $.cookie('modalServed', 'yes');
    // build and show the dialog

モジュールのhook_entity_load()にdrupal_add_jsでjavascriptを追加しています。テストの結果、モーダルにリンク要素があり、モーダルダイアログが表示される可能性があるサイトの別の場所にリンク先が設定されている場合、ブラウザにCookieが設定される前に2番目のダイアログが起動します。意図された動作。 drupal_add_js呼び出しに重みとスコープのオプションを追加してみましたが、問題は解決しません。 cookieが設定された後にのみモーダルjsが起動することを確認する別の方法はありますか?

2
steve

この場合の解決策は、jquery.cookieにパスを設定することでした。

$.cookie('modalServed', 'yes', {path: '/'});
1
steve