1

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

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 并执行相应的代码。

如果有人能提出一些想法,甚至可能是解决方案,将不胜感激。

谢谢,丹尼尔

4

1 回答 1

0

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

于 2013-10-02T06:53:28.947 回答