URL, как ниже, поддерживаются на моем сайте:Как передать правильные URL-адреса на страницу iframe?
(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
Теперь я пытаюсь показать свой сайт в качестве фрейма на другом сайте. Этот сайт поддерживает setLocation
и onLocationChanged
методы определения хеша и реагируют, когда изменяется hash.
Я определил 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+'/';
}
}
Но это не работает должным образом. Что не так с моим подходом?