【发布时间】:2012-01-15 13:58:37
【问题描述】:
我的网站支持以下网址:
(1) http://mysite.example.com/section/ - main page
(2) http://mysite.example.com/section/#page2
(3) http://mysite.example.com/section/surname-name-middlename/
(4) http://mysite.example.com/section/surname-name-middlename/#page2
(5) http://mysite.example.com/section/add
现在我正在尝试在另一个网站上将我的网站显示为 iframe。该站点支持setLocation 和onLocationChanged 方法来定义哈希并在哈希相应更改时做出反应。
我已经为所有页面定义了setLocation,这里没问题。因此,第 3 方网站上的链接如下所示:
(1) http://3rdpartysite.com/mypage
(2) http://3rdpartysite.com/mypage#page2
(3) http://3rdpartysite.com/mypage#surname-name-middlename
(4) http://3rdpartysite.com/mypage#surname-name-middlename,page2
(5) http://3rdpartysite.com/mypage#add
但现在我正在尝试实现正确的onLocationChanged 行为。
section 是所有页面的公共部分。
我尝试在主页上执行以下操作(不支持上面的选项(4)):
// location here is everything after # in url: http://3rdpartysite.com/mypage#...
function onLocationChanged(location) {
if (location.indexOf('page')>-1) {
window.location.href = '#'+location;
} else if (location == 'add') {
window.location.href = window.location.host + window.location.pathname + '/add';
} else if (location != '') {
window.location.href = window.location.host + window.location.pathname + '/'+location+'/';
}
}
但它不能正常工作。我的方法有什么问题?
【问题讨论】:
标签: javascript iframe location