Я предполагаю, что вы уже используете междоменный компоновщик, и это не решает вашу проблему с document.write.Если нет, то, возможно, стоит взглянуть (извините, недостаточно опыта, чтобы сказать это.)
Один из подходов, который, я уверен, можно было бы применить, заключается в следующем:
Ваш букмарклетдобавляет тег страницы на страницу (как сейчас)
Этот сценарий не выводится компилятором GWT.Это обычный старый javascript, который добавляет IFrame на страницу, а src этого IFrame указывает на HTML-страницу вашего сервера, которая загружает ваш модуль GWT.
Предположительно, целью является ваш модуль GWT.чтобы убрать вещи со страницы, в которую они были загружены.Конечно, он не может сделать это напрямую в этом случае, потому что IFrame происходит из домена, отличного от родительской страницы.
Для того, чтобы сделать эту работу, вам придется использовать window.postMessage и window.addEventListenerдля обмена данными между вашим модулем GWT в IFrame и вашей заглушкой javascript в родительском (используя JSNI на стороне GWT.)
Если вам нужно поддерживать более старые браузеры, postMessage не будет работать - но вы можетеизбавиться от манипуляций с хешем - но, возможно, именно здесь я подведу черту о практичности.