Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
1

Выполнение Javascript файла в котором присутствуют javascript теги

17.04.2015, 01:41. Просмотров 1575. Ответов 26
Метки нет (Все метки)

text1.js
Кликните здесь для просмотра всего текста

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/>
    <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
    <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js' type='text/javascript'></script>
    <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js' type='text/javascript' ></script>
    <script language='javascript'>      SyntaxHighlighter.all();    </script>
 
    <pre class="brush:cpp">
        #include <iostream>
        int main(){
                   cout<<a;
                   cin>>b;
                   cout<<a->x;
                   return 0;
        }
    </pre>


temp.php
Кликните здесь для просмотра всего текста

HTML5
1
<script src="text1.js"></script>  //SyntaxError: expected expression, got '<'


Нужно решение.

Добавлено через 4 минуты

Не по теме:

Нужно, чтобы при запуске temp.php в temp.php вписывался текст из text1.js
Как бы подстановка такая нужна в HTML код для temp.php

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2015, 01:41
Ответы с готовыми решениями:

Html теги в Javascript
пытаюсь вывести во втором поле то что ввели в первом но с маленькой 2 - то есть...

Выполнение JavaScript
Всем привет! Переношу онлайн калькулятор натяжных потолков с другого сайта,...

Выполнение JavaScript из текста
Добрый день! Подскажите пожалуйста, как мне из текста, который содержит...

Javascript - выполнение функции
Код: &lt;a onclick='SomeFunction(SomeField.value, &quot;SomeValue&quot;)'...

Предотвратить выполнение JavaScript функции
Доброго времени суток. Есть некоторый сайт, на котором может отображаться...

26
Fedor Vlasenko
Программист Php, Js
Эксперт PHP
817 / 550 / 215
Регистрация: 01.02.2015
Сообщений: 1,690
17.04.2015, 02:47 2
Javascript
1
2
var scr = document.querySelector('script');
alert(scr.text);
1
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 03:04  [ТС] 3
Poznakomlus, Так не получится/
SyntaxError: expected expression, got '<'
temp.php
Кликните здесь для просмотра всего текста

Javascript
1
2
3
4
5
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src='text1.js'>
   var scr = document.querySelector('script');
    alert(scr.text);
</script>
0
Fedor Vlasenko
Программист Php, Js
Эксперт PHP
817 / 550 / 215
Регистрация: 01.02.2015
Сообщений: 1,690
17.04.2015, 03:05 4
попробуйте <script type="text/html"> внутри него ваш код а обрабатываем как я показал, можно и ид скрипту прикрутить
это принцип работы шаблонизаторов js
пример от создателя jQuery
1
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 03:09  [ТС] 5
Цитата Сообщение от Poznakomlus Посмотреть сообщение
попробуйте <script type="text/html">
Как мне это к файлу пробовать? Я чего-то не догоняю.

Это так что ли?
<script src='text1.js' type='text/html'>
0
Fedor Vlasenko
Программист Php, Js
Эксперт PHP
817 / 550 / 215
Регистрация: 01.02.2015
Сообщений: 1,690
17.04.2015, 03:14 6
не файл так не подгрузит. А в <script src='text1.js'> начнет обрабатывать вам придется тогда в комментарии код прятать извращаясь затем регулярками
есть же вариант ajax-ом подгрузить данные почему именно тег script выбран
0
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 03:18  [ТС] 7
У меня открывается новое окно и туда вписывается HTML код из файла text1.js . Я могу этот текст аяксом подгрузить в новое окно? Я предполагаю, что это просто невозможно.

Добавлено через 1 минуту

Не по теме:

Точнее должно так быть. Сейчас что надо туда не вписывается.

0
Fedor Vlasenko
Программист Php, Js
Эксперт PHP
817 / 550 / 215
Регистрация: 01.02.2015
Сообщений: 1,690
17.04.2015, 03:24 8
а почему нет. кроме того данные можно передать через local и session storage, использовать Web Workers и ... в зависимости от задачи
0
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 03:39  [ТС] 9
Ну вот моя задача:
Есть файл с HTML кодом, в котором присутствует javascript
Надо создать страничку.
На страничке одна ссылка.
Клик на ссылку открывает окно.(Не вкладку)
В окно динамически подгружается текст из файла.
___________________
Мои знания javascript слишком ограничены. Мои знания ajax ограничиваются подгрузкой в <div>
Я просто не знаю как решить такую задачку.

ЧТобы подход был более ясен. Пусть (В теории) на странице стоит TextBox. Пользователь вводит в TextBox цифру и в зависимости от цифры в открываемое окно подгружается код из файла FileName+Number.js

МНе TextBox не нужен. Это я один из примеров привел, который приводит меня именно к тому способу, которым я решение ищу.

Добавлено через 8 минут

Не по теме:

И я надеюсь хоть кто-то мне сможет помочь. А-то в разделы php/javascript почти все мои вопросы как в бездну улетают :D

0
kalabuni
Нарушитель
3280 / 2597 / 622
Регистрация: 18.04.2012
Сообщений: 7,825
17.04.2015, 05:51 10
Цитата Сообщение от daslex Посмотреть сообщение
И я надеюсь хоть кто-то мне сможет помочь. А-то в разделы php/javascript почти все мои вопросы как в бездну улетают
не, не в бездну - в мусор они улетают

итак, ваш первый код - это содержимое файла text1.js

расширение .js говорит нам (и браузеру), что внутри файла находится javascript-код

но смотрим код, который вы выложили и в первой же строке видим почему-то HTML-код -- <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/>
милай, HTML -- это никак не JS
-------

далее вами обещано, что мы увидим PHP-код, ибо вы файл назвали temp.php

ждём самой первой строкой <?php
но опять видим HTML-код -- <script src="text1.js"></script>

приходится повторить банальность: HTML -- это и не JS

вот когда научитесь различать между собой HTML, PHP и JS, вот тогда и приходите
а покуда все ваши сообщения реально уходят в мусор (что абсолютно правильно, ибо им место только там!)

ну а ваш заголовок темы -- "Выполнение Javascript файла в котором присутствуют javascript теги" -- это просто гимн палаты номер 6!

теги бывают только в HTML
0
daslex
17.04.2015, 08:24  [ТС]
  #11

Не по теме:

kalabuni, Вы меня 1 раз уже обманули. Я теперь Вам не верю.

0
Shakalaka
Эксперт HTML/CSS
644 / 548 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
17.04.2015, 09:24 12
Лучший ответ Сообщение было отмечено daslex как решение

Решение

Если отбросить то, что у вас в файле .js вписаны html теги и даже код на с++ и предположить, что все норм, то в php не проще ли написать так?
PHP
1
2
$script = file_get_contents(/*'адрес text1.js'*/);
echo $script;
1
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 09:29  [ТС] 13
Не проще. Этого не отбросить.
Блин. НУ
text1.js
Javascript
1
document.write("<link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/>    <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>    <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js' type='text/javascript'></script>    <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js' type='text/javascript' ></script>    <script language='javascript'>      SyntaxHighlighter.all();    </script>       <pre class='brush:cpp'>            #include <iostream>                    int main(){                          cout<<a;                          cin>>b;                          cout<<a->x;                          return 0;                    }       </pre>");
Теперь там только js

И не все тут так просто как может казаться.
Цитата Сообщение от Shakalaka Посмотреть сообщение
$script = file_get_contents(/*'адрес text1.js'*/); echo $script;
не срабатывает.
0
Shakalaka
Эксперт HTML/CSS
644 / 548 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
17.04.2015, 09:43 14
Ну так а вы думали что вернет file_get_contents? Он вернет строку. И строка эта в вашем случае
document.write("<link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/> <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js' type='text/javascript'></script> <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js' type='text/javascript' ></script> <script language='javascript'> SyntaxHighlighter.all(); </script> <pre class='brush:cpp'> #include <iostream> int main(){ cout<<a; cin>>b; cout<<a->x; return 0; } </pre>");
И видимо, чтоб эта строка была воспринята как javascript нужно писать что-то типа такого
PHP
1
2
$script = file_get_contents(/*'адрес text1.js'*/);
echo "<script>{$script}</script>";
1
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 09:49  [ТС] 15
Ну и чего?
SyntaxError: unterminated string literal temp.php:1:15
ReferenceError: SyntaxHighlighter is not defined

Я же говорю. Это может казаться проще чем оно есть.
0
Вложения
Тип файла: rar str.rar (572 байт, 1 просмотров)
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 10:00  [ТС] 16
Хотя я строчку неправильно сформировал...
Сейчас исправлю и посмотрю.
0
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 10:45  [ТС] 17
В общем так создает видимость что работает. Но оно не работает когда у меня должно.
Вот пример:

HTML код. Работает. (Так как он работает, я беру эту строчку для document.write)
HTML5
1
<link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/><script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js' type='text/javascript'></script><script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js' type='text/javascript'></script> <script type='text/javascript'> SyntaxHighlighter.all();    </script>    <pre class=&quot;brush:cpp&quot;;>       #include &lt;iostream&gt;       int main(){         return 0;       }    </pre>

Я создаю text1.js
Javascript
1
document.write("<link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/><script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js' type='text/javascript'></script><script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js' type='text/javascript'></script> <script type='text/javascript'> SyntaxHighlighter.all();    </script>    <pre class=&quot;brush:cpp&quot;;>       #include &lt;iostream&gt;       int main(){         return 0;       }    </pre>");

Я создаю вызывающий его HTML
PHP
1
2
3
4
<?php
  $script = file_get_contents('text1.js');
echo "<script>{$script}</script>";
?>
И я получаю ошибку
1C
1
2
3
SyntaxError: unterminated string literal temp.php:1:15
ReferenceError: SyntaxHighlighter is not defined shBrushCpp.js:30:0
ReferenceError: SyntaxHighlighter is not defined
0
Вложения
Тип файла: rar str.rar (545 байт, 0 просмотров)
Shakalaka
Эксперт HTML/CSS
644 / 548 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
17.04.2015, 11:35 18
Код делает то, что вы просили
Цитата Сообщение от daslex Посмотреть сообщение
Нужно, чтобы при запуске temp.php в temp.php вписывался текст из text1.js
Другое дело, что вы в js скрипте ерунду пишите.
Вы пытаетесь откуда-то загрузить какой-то js файл и сразу пытаетесь вызвать из него функцию(а на загрузку нужно время)
пишите в своем js что-то типа такого
Javascript
1
2
3
4
5
6
window.onload = function(){
    var scr = document.createElement("script")
    scr.src = "http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js";
    document.getElementsByTagName('head')[0].appendChild(scr);
    scr.onload = function(){/* делай что-то со своим скриптом */}
}
1
daslex
1291 / 535 / 177
Регистрация: 02.08.2011
Сообщений: 2,756
17.04.2015, 12:07  [ТС] 19
Shakalaka, Вообще ваш вариант выше прекрасно сработал и я ему дал лучший ответ. И время на загрузку тут не причем. Почти получилось. Но не все получилось.
_________
А этот вариант, который сейчас, похож на один из вариантов, которые я пробовал и он не получился. Я в таком виде ловлю ошибку: Вызов document.write() из асинхронно-загруженного внешнего сценария был проигнорирован. И при этом в разных браузерах он по разному себя ведет, наверное.

Добавлено через 5 минут
Я не имею ввиду, что второй вариант неправильный. Просто я его неправильно пытаюсь использовать.
Javascript
1
2
3
4
5
6
7
8
<script>
window.onload = function(){
    var scr = document.createElement("script")
    scr.src = "text1.js";
    document.getElementsByTagName('head')[0].appendChild(scr);
    scr.onload = function(){document.write("/*КАК СЮДА ВПИСАТЬ ТЕКСТ ИЗ САМОГО СЕБЯ?*/");}
}
</script>
0
Shakalaka
Эксперт HTML/CSS
644 / 548 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
17.04.2015, 12:16 20
Цитата Сообщение от daslex Посмотреть сообщение
время на загрузку тут не причем
Ну как скажете и, кстати, когда пытаюсь загрузить этот скрипт http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js получаю ответ сервера 403
0
17.04.2015, 12:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2015, 12:16

Выполнение javascript кода из url строки FireFox
Если ввести в адресную строку код: javascript: ( function( ) {alert(&quot;ОК&quot;)} ) (...

Как сделать выполнение javascript в блоке div
Здравствуйте. Помогите сделать выполнение JS в блоке div. Нужно чтобы...

Вставка элементов меню (содержащих javascript) через javascript
Пишу курсовой проект по JavaScript в ходе которого потребовалось создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru