如何在用户登录时仅运行一次此 JavaScript 代码段
How can I run this JavaScript snippet only once when a user logs in?
我有这个简单的JavaScript片段。
<script>
window.onload = function(){
swal("Hello!", "Welcome to Portal", "success");
};
</script>
如果页面URL http://portal/?init
,即在页面URL http://portal
或http://portal/?something_else
时不运行它,我怎么能只运行它?
检查页面的location.search
。
<script type="text/javascript">
if(location.search == "?init"){
window.onload = function(){
swal("Hello!", "Welcome to Portal", "success");
};
}
</script>
你可以检查:
-
location.href
(整页网址)或 -
location.search
(网址查询参数?...
)或 -
location.hash
(网址哈希#...
)
使用 PHP:
<?php
if(array_key_exists("init",$_GET)){
?>
<script>
window.onload = function(){
swal("Hello!", "Welcome to Portal", "success");
};
</script>
<?php
}
?>
您还可以在用户登录时设置会话,这样即使用户刷新页面,您也可以真正只运行一次脚本:
<?php
if(array_key_exists("userLoggedIn",$_SESSION)){
?>
<script>
window.onload = function(){
swal("Hello!", "Welcome to Portal", "success");
};
</script>
<?php
unset($_SESSION["userLoggedIn"]);
}
?>
使用文档。网址:
<script>
if(document.URL == 'full url goes here'){
window.onload = function(){
swal("Hello!", "Welcome to Portal", "success");
};
}
相关文章:
- 显示数字,然后每5秒随机更改一次(javascript)
- 使函数只运行一次(Javascript)
- 仅当javascript的新内容出现时,才每3秒更新一次javascript
- 每天递减一个变量一次 - Javascript
- 每个用户/浏览器会话只加载一次Javascript
- 使用Greasemonkey每5秒执行一次Javascript
- 我想在窗口加载后只调用一次JavaScript setInterval函数
- 如何只包含一次javascript文件
- 每周运行一次 JavaScript 函数
- 每天为每个新用户运行一次 JavaScript 函数
- 每 10 次访问(重新加载)显示一次 JavaScript 函数
- 简单嵌套的 setTimeout() 只运行一次 (JavaScript)
- 如何只添加一次JavaScript库
- 每X分钟运行一次JavaScript命令
- 每两次切换播放器一次JavaScript-AngularJS
- 追加一次javascript href link
- 当使用局部视图时,只添加一次javascript代码
- 查找匹配的img src并删除它存在不止一次- Javascript
- 加载cookie时只重载一次javascript页面
- 如何使这个函数运行不止一次JavaScript/jQuery