Мои проблемы кажутся следующие:выполнение JavaScript в window.open() генерируется окно
У меня есть этот код:
function openNew(theImage){
var theHTML = "<!doctype html><html><head><script src='../js/windowScript.js'></script><title>EditWindow</title></head><body><div id='canvasContainer'></div><img id='removeable' src='"+theImage+"'><button id='cropMe'>Crop it!</button></body></html>";
var editWindow = window.open("","","width=1000 height=800 titlebar=0");
editWindow.document.write(theHTML);
}
который открывает новое окно с «theHTML» -струны содержание , И, как вы можете видеть, он также добавляет скрипт «windowScript.js» в новое окно.
windowScript.js:
window.onload = function(){
document.getElementById("cropMe").addEventListener("click",removeImg);
alert("it began");
}
function removeImg(){
var imgTAG = document.getElementById("removeable");
var imgURL = imgTAG.getAttribute("src");
if(imgTAG.parentNode)
imgTAG.parentNode.removeChild;
}
, но этот сценарий никогда не выполняется. Если я проверяю скрипт с помощью инспектора хрома, он говорит мне, что он там, и он даже обнаруживает, есть ли в нем ошибки, но он не выполняется вообще.
Есть ли обходной путь, чтобы запустить скрипт в новом окне, без ввода его через editWindow.document.write();
?
Заранее благодарю вас за поддержку!
Если обнаружены ошибки, он запускает скрипт. Вы пытались добавить к нему явные вызовы 'console.log()'? – Pointy
Вау, это сложно. Даже преобразование строки HTML в URL-адрес данных и открытие страницы с этим не сработает! –