2015-12-02 3 views
0

Я пытаюсь написать функцию JavaScript, которая создает новую страницу, на которой также есть код JavaScript. Однако, по-видимому, он действительно не распознает код, когда я это делаю. Мой код нижеИспользуйте JavaScript для создания новой страницы с помощью JavaScript

<script> 
function openPrint(){ 
    var w = window.open(); 
    var html = '<html><head> \<script  src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"\>\<\/script\> \<script\>var xml = \'<Report>......</Report>'\<\/script\> \<\script src="./js/printScript.js"\>\<\/script\> \<script src="./js/printHTML.js"\>\<\/script\> \<link rel="stylesheet" type="text/css" href="./css/printScriptStyle.css"\></head><body></body></html>' 
; w.document.writeln(html); 
} 
</script 

Как вы можете видеть, переменная HTML имеет JavaScript код, который я хотел бы работать в новой странице, но она не отображается на вкладке «Источники» в инструментах разработчика. Правильно ли я это делаю, или это возможно? Я знаю, что эти два файла .js работают так, как я использовал их раньше в других проектах. Любая помощь приветствуется.

+1

Не будучи в состоянии проверить это, я думаю, что это потому, что вы используете относительные пути к 'printScript.js' и' printHTML.js'. Я не уверен, что вы можете это сделать, потому что всплывающее окно укажет на 'about: blank'. – nderscore

+0

Возможно, вы имеете в виду ['w.document.write (html);'] (https://developer.mozilla.org/en-US/docs/Web/API/Document/write)? – Pluto

+0

Я попытался добавить полный адрес, и все равно ничего. Но главное, что я вижу, это то, что в отладчике, когда я выбираю страницу, он не показывает никакого JavaScript. Я вижу только страницу JavaScript в «Element Inspector» инструментов разработчика. – user2850818

ответ

0

Ваши обратные косые не были в нужном месте

Вы должны добавить обратную косую черту перед:

  • же кавычки (»«), который запускает вашу строку

  • Перед обратной косой черты (\), который не находится перед пробелом

Обратите внимание, что вы использовали обратную косую черту, как закрывающий тег «< \ скрипт>», который должен быть «</скрипт>»

Также нет никакой пользы для функции «WRITELN» в этом случае.

WriteLn() просто добавить \ г \ п в конце строки

Там она, работает:

var w = window.open(); 
var html = '<html><head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"\> </script> <script>var xml = \'<Report>......</Report>\'</script> <script src="./js/printScript.js"></script> <script src="./js/printHTML.js"></script> <link rel="stylesheet" type="text/css" href="./css/printScriptStyle.css"></head> <body></body></html>'; 
w.document.write(html); 
+0

Я немного смущен. Некоторые из обратных косых черт (например, те, что указаны в теге закрывающего скрипта) должны быть косой чертой. Мне пришлось добавить несколько обратных косых черт, чтобы браузер не принимал тег в строке, чтобы обозначить конец всего тега скрипта. – user2850818

+0

Я снова столкнулся с той же проблемой, когда я достал все обратные косые черты, которые вы мне сказали. Браузер считает, что первый строки заканчивает

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