запись в дочернее окно в IE9 с помощью js - PullRequest
1 голос
/ 23 февраля 2012

Я пытаюсь написать в дочернее окно, используя jQuery и IE9. Ниже приведен код JS с кодом JQuery 1.7.1, который я использую:

    var w = window.open();  

    sQuery("head", w.document).append(sQuery("<link/>").attr("rel", "stylesheet").attr("href", "css/inlinecss.css"));

    sQuery("body", w.document).append(sQuery("<div/>").addClass("smdisplaychat").append(sQuery(".smdisplaychat").html()));

Этот код прекрасно работает в Chrome, на полпути в FireFox (по какой-то причине он теряет немного CSS, но это, вероятно, другая проблема), но в IE9 я получаю только эту ошибку:

DOM Exception: HIERARCHY_REQUEST_ERR (3)

В IE9 он выдает исключение при попытке обоих операторов. Посмотрел ошибка на MSDN, и она довольно общая, кто-нибудь знает, почему я не могу вставить туда HTML?

1 Ответ

1 голос
/ 23 февраля 2012

Я использовал document.write, и он, кажется, сработал, хотя выглядит не очень красиво.Ниже приведено то, что я изменил свой JS на:

  var w = window.open();

w.document.write("<!DOCTYPE html><html><head>" +
    "<link rel='stylesheet' href = 'css/inlinecss.css' />" +
    "</head><body>" + sQuery("<div/>").addClass("smdisplaychat").append(sQuery(".smdisplaychat").html()).html() +
    "</body></html>");

на стороне, обратите внимание, это также, похоже, устранило проблему FF css, о которой я упоминал в своем ОП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...