2013-03-07 4 views
0

Знаете ли вы, что иногда веб-сайты имеют небольшую «переменную = значение» в конце их имени? как я могу это использовать? Я уверен, что либо A) переменная не получает deffined как он должен или B) есть проблема в отношении этой части кода:Как разместить переменную javascript внутри URL-адреса?

if (! variable) { 
    var variable; 
} 

Так как же мне это сделать?

EDIT: Вот полный сценарий, который я пытаюсь запустить, это цель для простой страницы с защитой паролем, но я хочу, чтобы пароль был передан в URL-адресе, поэтому при переключении страниц у вас не будет для повторного ввода пароля.

<script> 
     var m = location.href.match(/[?&]variable=([^&]*)/), 
     password; 
     if (m) { 
     password = m[1]; 
     } 
     var pass1="password"; 
     var pass2="abcd"; 
     if (password!==pass1 || password!==pass2) { 
     password=prompt('Please enter your password to view this page!',' '); 
     if (password==pass1 || password==pass2) { 
      alert('Password Correct!'); 
     } else { 
      history.go(-1); 
     } 
     } 
    </script> 

Этот код просто подсказывает мне, что бы ни было в URL-адресе.

+2

Здесь вы идете: http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values/901144#901144 – Tmdean

+0

Почему вы используете 'if (! m) {'? Это 'if (m) {'! –

+0

Упс! Хорошо, я изменил его, и теперь он просто подскажет мне пароль. – BBMAN225

ответ

7

Параметры в строке запроса не передаются автоматически в Javascript; они обычно предназначены для серверных сценариев. Для того, чтобы получить одну переменную, которую вы могли бы сделать это:

var m = location.href.match(/[?&]variable=([^&]*)/), 
password; 

if (m) { 
    password = m[1]; 
} 
+0

Это не работает. – BBMAN225

+0

@ BBMAN225 Это не очень полезно. Что вы пробовали, почему это не сработало? –

+0

К сожалению, я попытался это: вар пароль = location.href.match (/ переменная = ([^ &]*)/); если (пароль) { вар пароль; } – BBMAN225

1

вы можете передать переменную так:

<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
</script> 
<a href="2.html" onclick="location.href=this.href+'?key='+scrt_var;return false;">Link</a> 

или как это:

положить атрибут ID на якорный элемент

<a id="link2"> 

установить HREF атрибут события загрузки страницы:

var scrt_var = 10; 
var strLink = "2.html&Key=" + scrt_var; 
document.getElementById("link2").setAttribute("href",strLink); 
+0

Мой вопрос касался считывания переменной, но это, безусловно, поможет! – BBMAN225

Смежные вопросы