我的javascript bookmarklet什么都不做,我哪里搞砸了?
因此,我有了这个bookmarklet,它允许我快速切换到我所在页面的测试服务器版本:我的javascript bookmarklet什么都不做,我哪里搞砸了?,javascript,bookmarklet,Javascript,Bookmarklet,因此,我有了这个bookmarklet,它允许我快速切换到我所在页面的测试服务器版本: javascript:(function() {window.location=window.location.toString().replace(/^http:\/\/www\./,'http://www-test.');})() 我还希望能够在我的网页上切换到调试模式,因此我尝试制作一个书签,如下所示,但似乎不起作用: javascript:(function() {window.location=w
javascript:(function() {window.location=window.location.toString().replace(/^http:\/\/www\./,'http://www-test.');})()
我还希望能够在我的网页上切换到调试模式,因此我尝试制作一个书签,如下所示,但似乎不起作用:
javascript:(function() {window.location=window.location.toString().replace(/^php/,'php?action=debug');})()
我搞砸了什么?
/^php/
匹配以“php”
开头的字符串。我猜您希望匹配字符串的结尾:
/php$/
/^php/
匹配以“php”
开头的字符串。我猜您希望匹配字符串的结尾:
/php$/
/^php/
仅影响以php
开头的字符串。由于location.href
属性始终包含协议,因此您的代码不会执行任何操作
您可能正在查找与字符串末尾的php匹配的/php$/
要避免在激活bookmarklet时意外刷新,您可以使用:
javascript:(function(){
if(/php$/.test(location.href)) location.href += '?action=debug';
})()
/^php/
仅影响以php
开头的字符串。由于location.href
属性始终包含协议,因此您的代码不会执行任何操作
您可能正在查找与字符串末尾的php匹配的/php$/
要避免在激活bookmarklet时意外刷新,您可以使用:
javascript:(function(){
if(/php$/.test(location.href)) location.href += '?action=debug';
})()
可能是
php
之前的^
。由于php
出现在字符串末尾,因此需要使用$
将其定位到右侧,而不是左侧:
javascript:(function() {window.location=window.location.toString().replace(/php$/,'php?action=debug');})()
可能是
php
之前的^
。由于php
出现在字符串末尾,因此需要使用$
将其定位到右侧,而不是左侧:
javascript:(function() {window.location=window.location.toString().replace(/php$/,'php?action=debug');})()