2012-06-18 5 views
1

Я пишу приветственный файл Greasemonkey для сайта с двумя доменами. Скажем http://friendlyurl.com и http://ugly.url.com. http://friendlyurl.com/* перенаправляет на http://ugly.url.com/*. Одна из функций, которые я хотел включить в usercript, заключалась в переписывании уродливого URL-адреса на дружественный, используя HTML5 replaceState().GM Псевдоним пользователя, чтобы изменить имя doman с помощью HTML5 replaceState()

код у меня было:

(function() { 
    if (history.replaceState) { 
     var url = document.location.href.replace('ugly.url.com/', 'friendlyurl.com/'); 
     history.replaceState({}, document.title, url); 
    } 
})(); 

Пока я не понял, что это не слушается политику Same-происхождения. Мой вопрос: есть ли способ обхода домена сайта, возможно, используя GM_ * API? Очевидно, что, поскольку это учетная запись, проблема безопасности значительно ниже. Мое настоящее предположение, что это невозможно, но я думал, что поставил бы вопрос.

ответ

2

history.replaceState cannnot использовать для изменения домена, из соображений безопасности. Даже с помощью GM API.

Подробнее о правилах см. В the HTML Standard for replaceState().

+1

PS. Подробнее о правилах: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#dom-history-replacestate –

+0

Я думал, что это так. Спасибо за разъяснения. – azz

 Смежные вопросы

  • Нет связанных вопросов^_^