如果URL = this {// do this} else {// do this}

时间:2013-10-02 06:49:14

标签: javascript greasemonkey window.location tampermonkey

我知道这看起来很简单,我第一次尝试的时候就这么认为,但事实证明我遇到了问题。这是一个用户脚本,我希望它检查URL是否为“http://orteil.dashnet.org/cookieclicker”,然后做一件事(但不要刷新),但如果URL为“http://orteil.dashnet.org/cookieclicker/beta”则执行此操作事(也不要刷新)。这是我到目前为止的代码,我只想在“http://orteil.dashnet.org/cookieclicker”时运行“linkb”,并在“http://orteil.dashnet.org/cookieclicker/beta”时运行“linkc”。

var link = document.createElement('a');
link.setAttribute('href', 'http://orteil.dashnet.org/experiments/cookie/');
link.target = 'blank';
link.appendChild(
   document.createTextNode('Cookie Clicker Classic')
);
var add = document.getElementsByTagName('div')[1];
add.insertBefore(document.createTextNode('| '), add.lastChild);
add.insertBefore(link, add.lastChild); // all the code so far will load on both pages

var linkb = document.createElement('a');
linkb.setAttribute('href', 'beta');
linkb.target = 'blank';
linkb.appendChild(
   document.createTextNode('Try the beta!') //this block will load if the URL is "http://orteil.dashnet.org/cookieclicker"

var linkc = document.createElement('a');
linkc.setAttribute('href', '../');
linkc.target = 'blank';
linkc.appendChild(
   document.createTextNode('Live version') // and this will load if the URL is "http://orteil.dashnet.org/cookieclicker/beta"

我试过了:

if (window.location = "http://ortei.dashnet.org/cookieclicker/") {
   var linkb = document.createElement('a');
   linkb.setAttribute('href', 'beta');
   linkb.target = 'blank';
   linkb.appendChild(
      document.createTextNode('Try the beta!')
   );
}
else {
   var linkc = document.createElement('a');
   linkc.setAttribute('href', '../');
   linkc.target = 'blank';
   linkc.appendChild(
      document.createTextNode('Live version')
   );
}

我已经尝试了这个但是使用alert()并且当你在弹出窗口上按下ok时,它会刷新页面并再次发出警报。我只想检查它是什么URL并执行相应的代码。

如果有人想出一些想法,甚至可能提出解决方案,我们将非常感激。

谢谢,丹尼尔

1 个答案:

答案 0 :(得分:0)

应该是if (window.location == "http://ortei.dashnet.org/cookieclicker/")(double =),否则你将URL分配给window.location,从而强制重新加载