2016-09-21 3 views
1

ボタンをクリックすると、ビューポートを有効/無効にする機能が必要です。Javascript - 別のURLパラメータを削除または設定する

URLパラメータを使用して&viewport=1を追加して、meta name="viewport"を追加/削除し、そのあとでページをリロードすることができます。

function getParameterByName(name) { 
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(location.search); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 
var $viewport = getParameterByName('viewport'), 
    $url = window.location.href; 
function checkViewport($btn){ 
    if($viewport === '1') { 
     $('head meta[name=viewport]').remove(); 
     // here I need to change or remove the param from URL 
     // tried with $url=$url.replace - not working :(
    } else if (typeof $viewport === 'undefined' || $viewport === null || $viewport === '') { 
     $('head').append('<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">'); 
     if ($url.indexOf('?') > -1){ 
      $url += '&viewport=1' 
     } else { 
      $url += '?viewport=1' 
     } 
    } 
    window.history.replaceState(null, null, $url); 
    if($btn){ 
     window.location.href = $url; 
    } 
} 

誰でも助けてください。

ありがとうございました。

答えて

1

これは、あなたが私のために欲しい結果を提供します?

var $url = "http://example.com?viewport=1"; 
console.log($url); //http://example.com?viewport=1 

$url = $url.replace(/[&?]viewport=1/g, ""); 
console.log($url); //http://example.com 
+0

ない私のために働いて、追加されたビューポート= 1&ビューポイント= 1 – Adrian

+0

あなたは何をやっている私を表示する必要があります。私の例は私がそれをテストするときに働く。 – Bayrock

+0

fiddle [link](https://jsfiddle.net/templatetuners/vppnz3uq/) – Adrian

関連する問題