1

ページの読み込み時に自動的に開くjQueryライトボックスを備えたWebページがあります。ライトボックスに、Facebookの「いいね」ボタンを実装しました(これは、電子メールのFacebookの「いいね」ボタンの2クリックソリューションです)。さて、FacebookユーザーがFacebookの「いいね」URLをクリックして私のWebページにアクセスしたとき、ライトボックスをオフにします。2つの異なるページ(1つはライトボックスがオンでもう1つはオフ)を作成する必要はありません。Javascriptを使用してURLにパラメーターを追加し、そのパラメーターに基づいてライトボックスをオン/オフにすることで、これを回避できると思います。 。これはこれを行うための安全な方法ですか?どうすればいいですか?

4

2 に答える 2

1

ここで見つけたこの JS 関数を使用して、URL パラメータを取得できます。

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

?lightbox=1次に *use egを追加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";
于 2012-04-20T04:37:02.700 に答える
0

これはあなたが求めている大まかなコードだと思います:

<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 & PHP に関する W3School のチュートリアル

于 2012-04-20T03:36:19.503 に答える