Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   аналог document.write для firefox (https://javascript.ru/forum/css-html-firefox-mizilla/38462-analog-document-write-dlya-firefox.html)

Owyn 02.06.2013 23:02

аналог document.write для firefox чтоб убрать все EventListener'ы
 
Т.К. document.write в последней лисе (21) не работает Exception: The operation is insecure., есть ли альтернативы чтоб избавиться от всех неизвестных EventListener'ов?

var w = window.open("","_self");
w.document.write('<html><head></head><body>Dyn.</body></html>');

- тоже самое ругается ФФ и на document.open и после window.open, похоже совсем ФФ отключил этот функционал.

Document.write убирает их всех добавленных с помощью addEventListener, а в FireFox что делать?

П.С. - да мне надо юзерскриптом полностью очистить страницу и потом показать на ней небольшую штуку клику на которую не должны мешать поп-апы и прочая дрянь.
П.П.С - в хроме всё отлично работает и так и так, осталось накостылять лису ну или оставить сообщение для юзеров "сами виноваты, переходите на хром и всё заработает как надо" :haha:

Deff 02.06.2013 23:23

Цитата:

Сообщение от Owyn
П.С. - да мне надо полностью очистить страницу и потом показать на ней небольшую штуку клику на которую не должны мешать поп-апы и прочая дрянь.

<script type="text/javascript">
function winOpen(str) {
var msg = new String("");
msg = "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"http://forum.mybb.ru/style/"+BoardStyle+"/"+BoardStyle+".css\" /><title>Награды пользователя</title>"
msg+= "<style type=\"text/css\">html, body, #pun, #pun-main {background-image: none; margin: 2px 2px; width: 99%;}</style><body>"
msg+="<div id=\"pun\" class=\"punbb\"><div id=\"pun-main\" class=\"main\">"
msg+="<span style='color:red;font-size:22px'>"+str+"</span>";
msg+="</div></div></body></html>";
popup = window.open("", "", "height=300, width=700, top=500, left=500, scrollbars=1")
popup.document.write(msg)
popup.document.close()
return false
}
</script>
<input type="button" value="Открыть" onclick="winOpen('Привет!')">

Cкриншот http://s1.uploads.ru/rYZyv.png

Owyn 03.06.2013 00:47

Цитата:

Сообщение от Deff (Сообщение 254170)

Интернет страница то текущая не очищена, просто новое окошечко открылось. Не надо нам поп-апов :)

Deff 03.06.2013 01:08

Цитата:

Сообщение от Owyn
Интернет страница то текущая не очищена, просто новое окошечко открылось. Не надо нам поп-апов

Цитата:

Сообщение от Owyn
П.П.С - в хроме всё отлично работает и так и так, осталось накостылять лису ну или оставить сообщение для юзеров "сами виноваты, переходите на хром и всё заработает как надо"

Дайте ссылку на Демо пример

Owyn 03.06.2013 01:29

На пример чего именно? Я в первом сообщении дал два примера кода которые отлично работают в хроме и выключены вроде как разработчиками в лисе
(Уточняю что код выполняется не на локальной странице file// и из под юзерскрипта)

1:
document.write('<html><head></head><body>Dyn.</body></html>');


2:
var w = window.open("","_self");
w.document.write('<html><head></head><body>Dyn.</body></html>');


Если надо, то вот сам юзерскрипт ещё не накостыленный для лисы: http://userscripts.org/scripts/show/166494
*автозаменить все @match на @include и if(i) на if(i!=null) и оно дойдёт до места где в FF функция document.write выпилена разработчиками*

Deff 03.06.2013 01:34

Owyn,
Ничего не понял - что нужно нажать, чтобы увидеть эффект от

document.write() в Хроме
и трабл в Лисе ?'

Если трудно на сайте - можно минималистический код в песочне?

Owyn 03.06.2013 02:28

Вложений: 1
alert("test");

Песочницу не нашел где тут... приложил пользовательский скрипт в архиве,

в хроме перетащите его на список расширений в:
chrome://extensions/

в лисе откройте его любым способом с установленным scriptish или GreaseMonkey чтоб установить,


зайдите на javascript.ru и смотрите различия в двух браузерах (хотя я и так уже сказал что в одном фурычит в другом просто нет и нужно другое решение)

Deff 03.06.2013 10:28

Owyn,
так - подойдёт ?
<script>
window.onload=function(){document.write('<html><head></head><body>Chrome ok. iz pod FF ne uvidite eto.</body></html>')};
document.write('</div></div></div></div><div id="plaintext" style="display:none">#1<plaintext>');
</script>

Owyn 03.06.2013 11:54

Цитата:

Сообщение от Deff (Сообщение 254202)
Owyn,
так - подойдёт ?

Так даже window onload не зовётся т.к. юзерскрипт после него запускается

Deff 03.06.2013 12:11

Вариант на странице http://premod.mybb.ru/pages/document_write
Скриншот http://s1.uploads.ru/FhCnt.png


Часовой пояс GMT +3, время: 17:05.