Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Подключение внешнего файла юзерскриптом (https://javascript.ru/forum/css-html-firefox-mizilla/52133-podklyuchenie-vneshnego-fajjla-yuzerskriptom.html)

iyaki 05.12.2014 10:21

Подключение внешнего файла юзерскриптом
 
Сделал небольшой юзерскрипт, но столкнулся с такой проблемкой http://clip2net.com/s/jpHqWb

когда задаю через "скрипт-иннерХТМЛ" все работает, тот же скрипт через внешний файл он даже отображается так же, но неотрабатывает. http://clip2net.com/s/jpHvaH



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

danik.js 05.12.2014 13:06

Если тег <script> имеет атрибут src, то код подгружается из указанного src. innerHTML при этом игнорируется.

iyaki 05.12.2014 13:26

Цитата:

Сообщение от danik.js (Сообщение 344758)
Если тег <script> имеет атрибут src, то код подгружается из указанного src. innerHTML при этом игнорируется.

Это понятно)
Но во втором варианте иннер и вовсе отправлен в коменты. Вопрос в том как заставить работать скрипт из внешнего файла, который как раз и отправлен через атрибут src и отображается меж тегами <script> и имеет практически идентичную запись (картинки выше), но не отрабатывает.
Одна и та же строка введенная через инер пашет, через src нет :(

Aetae 05.12.2014 15:12

Наврядли скрипт по file:// заработает на внешнем ресурсе. Нескурно дюже.

danik.js 05.12.2014 15:21

Не думаю что вебстраница может подключать файлы по протоколу file:

danik.js 05.12.2014 15:23

Эх, вот бы сокеты для отображения сообщений в режиме реального времени тут заюзать.. Или слишком напряжно? Ну хотяб перидоические ajax-запросы..

iyaki 06.12.2014 12:17

Цитата:

Сообщение от danik.js (Сообщение 344799)
Эх, вот бы сокеты для отображения сообщений в режиме реального времени тут заюзать.. Или слишком напряжно? Ну хотяб перидоические ajax-запросы..

В данной теме?!)

iyaki 06.12.2014 16:46

В общем решил выйти таким способом.
<!DOCTYPE html>
<html>
    <head>
       <title>Оборчуний построчный v 2.0</title>
	   <style>
		input, out{
			display:block;
			margin-top:10px;
		}

		body{
			background-color: #FAEBD7; 
		}
		textarea{
			width: 78%;
			margin-top:10px;
			margin-right: 20px;
		}
		
		form {
			margin-top: 10px;
			width: 100%;
		}
		i {
			color : red;
		}

		
	   </style>
    </head>
    <body>
		<div id = "wraper">
			
				<div id ="inter">
				<form action="/echo" method="post">
					<label for ="in_field"> Сюда кинуть исходник </label><br>
					<textarea name = "in" id="in_field" autofocus></textarea>
					<input type="submit" value="Обернуть" onclick="work();">
				</form>
				</div>
				<div id ="out">
				<form action="/echo" method="post">
					<label for ="out_field">Здесь появится результат!</label><br>
					<textarea name = "out" id="out_field" rows="1" cols="10" ></textarea>
				</form>
				</div>
		</div>
		
		<p> Програмка оборачивает код в кавычки, мне понадобилась для внесения кода в Глисманки. <br>
			Ввиду того, что не очень то удобно навешивать сторонний скрипт на сайт через "innerHTML"= '' <br>
			+'...' Тем более прописывать каждый раз в ручную +'...' после каждой проверки или дописки  <br> 
			Код будет иметь следующий вид +' Тут код ;\n' и сохранит все табы вначале строк, но уберетв конце.  <br>
			Так же добавятся <i> ";" </i> если строка не оканчивается на : <i> "," </i> ,  <i> ";" </i> , <i> "{" </i> ,<i> "}" </i> , <i> ")" </i>  или <i> "else" </i> <br>
			При добавлении на сайт табы и отступы будут видны в созданном скрипте.<br>
			Проще использовать горячие клавиши <i> "Tab" </i> для перехода к окну результата, <i> "Ctrl + A" </i> для выделения  и <i>  "Ctrl + C" </i> для копирования в буфер обмена!
		</p>
		<script>
			var in_field = ge('in_field');
			in_field.value = "";
			out_field.value = "";
			var e_h = false;
			function ge(id)
			{
				return document.getElementById(id);
			}
			function work() {
				var lines = in_field.value.split("\n");
				var str_for_cons =[];
				var fin_str ="";
				var out_field = ge('out_field');
				var str_len = 0;
				for (i = 0; i < lines.length;i++)
				{
					lines[i] = lines[i].replace(/\s*$/,'');// .replace(/^\s*/,'') начало строки
					var last = lines[i][lines[i].length-1];
					var str = lines[i].substring(lines[i].length-4, lines[i].length);
					if ((str != "else")&&(last != "\)")&&(last != "\}")&&(last != "\,")&&(last != "\{")&&(last != "\;")) lines[i] = lines[i] +"\;";
					str_for_cons[i] =  "+'" + lines[i] +"\\" +"n"+"'";
					fin_str += str_for_cons[i] +"\n";
					if (str_for_cons[i].length > str_len) str_len = str_for_cons[i].length;
				}
				out_field.value = fin_str;
				out_field.cols = str_len ;
				out_field.rows = lines.length;
			}
		</script>
    </body>
</html>



теперь хоть не вручную лепить плюсики, вот чего правда сюда бы добавить так это сохранение кода)
Как показала практика
if(y1<y3)
{
min=y1;
max=y3;
}
выдает так
+'if(y1+'{'
+'min=y1;'
+'max=y3;'
+'}'
решается пробелами с обеих сторон больше/меньше

bes 06.12.2014 17:13

Цитата:

Сообщение от danik.js
Эх, вот бы сокеты для отображения сообщений в режиме реального времени тут заюзать.. Или слишком напряжно? Ну хотяб перидоические ajax-запросы..

если только в новой версии сайта, не была бы только хуже :)
пока есть поделка от Finom-а
http://javascript.ru/forum/project/2...-podpisok.html
в принципе этого достаточно
ну и можешь свой юзерскрипт забахать

Deff 06.12.2014 22:37

iyaki,
Засовываем В загружаемый js файл
function addContent (){ /*==123==;
  <style type="text/css">
  #pun .main{
     display:none;
   }
  </style>
  <script type="text/javascript">
    alert('Test Txt')
  </script>
  <div id=world>
    Привет Мир!
  </div>
==123==;*/
} addContent = addContent.toString().split('==123==;')[1]
document.write(addContent)


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