所以我知道这看起来有点奇怪,但为了保持一致性,我希望我的所有网址都以这种形式出现:http://domain.com/page/到目前为止,我已经让常规页面正常工作,但我不能似乎让错误页面正常工作.
如果用户访问不存在的页面或目录,我希望浏览器硬重定向到:http://domain.com/404/但是,此目录实际上不存在.错误页面的真实位置将在/pages/errors/404.php下
此外,虽然我不需要所有各种错误(400,401,403,404,500)的确切答案,但我将应用任何方法将所有这些重定向到他们的"正确"URL(例如http) ://domain.com/400/ http://domain.com/500/等)
有任何想法吗?
我正在制作镀铬扩展程序.此扩展的一部分需要能够模拟单击以激活页面上的onClick事件.以下是后台脚本中的代码:
function checkForValidUrl(tabId, changeInfo, tab) {
// If the letter 'g' is found in the tab's URL...
if (tab.url.indexOf('maps') > -1 && tab.url.indexOf('google') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
chrome.pageAction.onClicked.addListener(function() {
document.getElementById("paneltoggle2").click();
});
Run Code Online (Sandbox Code Playgroud)
这是我从chrome的java脚本调试中得到的错误消息:
Error in event handler for 'pageAction.onClicked': Cannot call method 'click' of null TypeError: Cannot call method 'click' of null
at chrome-extension://deogcaeekneeagffbhdlflichjlodlem/js/main.js:26:42
at chrome.Event.dispatchToListener (event_bindings:387:21)
at chrome.Event.dispatch_ (event_bindings:373:27)
at …Run Code Online (Sandbox Code Playgroud) javascript google-chrome javascript-events google-chrome-extension
我使用正则表达式来分隔网址的元素:
http://domain.com/page/post#fragment?query
/(?:([\w\-\+]+(?<!domain\.com))\/?)?(?:([\w\-\+]+(?<!domain\.com))\/?)?(?:#([\w\-\+]+))?(?:\?([\w\-\+]+))?$/
Run Code Online (Sandbox Code Playgroud)
这将是这场比赛的结果:
$ 1 =页面
2美元=邮寄
$ 3 =片段
$ 4 =查询
我收到此错误:
Invalid regular expression: /(?:([\w\-\+]+(?<!localhost))\/?)?(?:([\w\-\+]+(?<!localhost))\/?)?(?:#([\w\-\+]+))?(?:\?([\w\-\+]+))?$/: Invalid group
Run Code Online (Sandbox Code Playgroud)