Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript drupal\u add\u js在hook\u user\u登录中不工作_Javascript_Drupal_Drupal 7 - Fatal编程技术网

Javascript drupal\u add\u js在hook\u user\u登录中不工作

Javascript drupal\u add\u js在hook\u user\u登录中不工作,javascript,drupal,drupal-7,Javascript,Drupal,Drupal 7,使用Drupal7,我从hook\u user\u登录中使用Drupal\u add\u js添加js 添加js后,我可以调用drupal_get_js(),我可以看到我的js已经添加,但是当页面加载js时,js已经消失了 我的代码是: function popups_user_login(&$edit, $account) { $js = 'some inline js here'; drupal_add_js($js, array('type'=>'inline

使用Drupal7,我从hook\u user\u登录中使用Drupal\u add\u js添加js

添加js后,我可以调用drupal_get_js(),我可以看到我的js已经添加,但是当页面加载js时,js已经消失了

我的代码是:

function popups_user_login(&$edit, $account) {
    $js = 'some inline js here';
    drupal_add_js($js, array('type'=>'inline', 'weight'=>1));
    drupal_add_js(drupal_get_path('module', 'popups').'/popups.js', array('weight'=>2));
}
该模块的目的是在用户登录后创建一个弹出窗口,前提是满足某些条件

drupal.org上也有类似的问题

有人能告诉我这里发生了什么事吗


(我已经在两个单独的Drupal 7安装上尝试过了,并且在两个站点上都遇到了相同的问题)

就像Clive说的,这是由于登录后直接发生重定向。 这可以通过安装Devel并打开Devel设置页面上的“显示重定向页面”来检查


解决方案是在hook_user_login中设置一个会话变量(在我的例子中,它包含我想要显示的弹出窗口的NID),然后可以在hook\u page\u alter中读取,并在此时添加必要的JS。

很可能您已经设置好在登录后重定向到某个页面…因此您在第一个页面请求中添加JS,会发生重定向,而下一个页面没有打开JS addedSpot-我安装了Devel并打开了它“显示重定向页面”,我确实在登录后被重定向。奇怪的是,我被从主页重定向回主页…我的解决方案是在hook\u user\u login中设置会话变量,然后检查是否在hook\u page\u alter中设置了会话变量,然后在此时添加JS。。。