繁体   English   中英

使用Javascript向URL添加参数

[英]Add parameter to URL with Javascript

我有一个带有jQuery灯箱的网页,该网页会在页面加载时自动打开。 在灯箱中,我实现了Facebook Like按钮(这是电子邮件中Facebook Like按钮的2单击解决方案)。 现在,当Facebook用户通过单击Facebook上的“喜欢的” URL访问我的网页时,我想关闭灯箱。 我不想创建两个不同的页面(一个页面打开了灯箱,另一个页面关闭了),我想我可以通过使用Javascript向URL添加参数然后基于该参数打开/关闭灯箱来避免这种情况。 这是一种安全的方法吗? 我该怎么做?

您可以通过在这里找到的 JS函数获取URL参数:

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

然后* add使用?lightbox=1例如www.example.com?lightbox=1并使用上述功能进行阅读:

if(getUrlVars()["lightbox"]=="1"){
    //...
}

*要添加参数,您可以:

  • 更改链接href属性element.href = "http://www.newURL.com?param=1"; 并等待用户单击它们
  • 重定向到新位置window.location.href = "http://www.newURL.com?param=1";

我相信这是您要遵循的粗略代码:

<script type="text/javascript">
    document.location="http://example.com/index.php?noLightBox=1";
</script>

然后在index.php上,您需要以下内容:

<?php 
function isset_or(&$check, $alternate = NULL) 
{ 
    return (isset($check)) ? (empty($check) ? $alternate : $check) : $alternate; 
} 

function getGETPOST($var) 
{ 
       return isset_or($_GET[$var],isset_or($_POST[$var],"Empty")); 
} 
?>

例:

if(getGETPOST('noLightBox') != 1) {
// Code to display the light box comes here.
}
// Else normal page code

希望这对您有所帮助! 来源: http ://php.net/manual/en/function.isset.php和W3School的PHP教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM