Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   вывести текст на месте вызова скрипта (https://javascript.ru/forum/misc/10055-vyvesti-tekst-na-meste-vyzova-skripta.html)

yadino 17.06.2010 13:55

вывести текст на месте вызова скрипта
 
раньше делал document.write но спасибо форуму, подсказали что это неправильно. Подскажите тогда как сделать такой яваскрипт код, который вставлял бы текст прямо в том месте где вызывается сам яваскрипт. То есть

<html>
<head></head>
<body>
bla bla bla
<script>var r='ЭТО ТУТ!';
//тут код который бы прямо на этом месте страницы вывел r
</script>
bla bla
</body>
</html>

Skipp 17.06.2010 13:57

yadino,
А зачем? Вы не туда смотрите, мне кажется.
Опишите желаемые конечные цели.

yadino 17.06.2010 14:05

я делаю тизерную систему для своих нужд. Суть в том что на домене лежит файл с кодом банеров. А на странице есть пометка CHANGEIT. Изначально я сделал ( с вашей помощью)) ) такую систему что аяксом берем из файла текст, и затем меняем CHANGEIT на полученные данные. Но мне тут подсказывают что если на всех доменах у меня в коде будет пометина- CHANGEIT то гугл будет злиться, злиться, кулаками трясти.
Поэтому я хочу сделать такой код чтобы в какое место его вставишь- в том месте он и вывел бы текст полученный через аякс. Тогда я бы пометки CHANGEIT не вставлял, а вставлял сразу яваскрипты на то место.
как-то так :)

p.s.
document.body.innerHTML = document.body.innerHTML.replace(/CHANGEIT/,'(Здесь было то слово)');
добавил код которым сейчас происходит вставка

Skipp 17.06.2010 14:09

yadino,
А почему гугл ругаться будет? Странно

yadino 17.06.2010 14:10

ну. говорят так. я думаю это верно. доменов то будет много, не 1к

Skipp 17.06.2010 14:15

yadino,
А если допусти вставлять span теги заместо CHANGEIT и просто вставлять в них текст

yadino 17.06.2010 14:21

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

<script type="text/javascript" src="xty657.txt"></script>
а уже в том яваскрипте писать document.write('тут ответ аякса'). и ставить такие вставки на место CHANGEIT. гут-бед?

Skipp 17.06.2010 14:26

yadino,
как я понимаю нет:)
Так как document.write производит вывод данных в потоке(во время формирования страницы), а ajax вы уже запускаете после.

Kolyaj 17.06.2010 14:28

Используйте document.write.
http://alljs.ru/2009/12/document-write/ часть "Когда document.write всё-таки нужен".

Skipp 17.06.2010 14:28

yadino,
да и фиг с ними другими span'ами, можно сделать.

Skipp 17.06.2010 14:29

Kolyaj,
а разве с ajax сработает?

Skipp 17.06.2010 14:36

yadino,
Вот черезжопный скрипт:)
<html>
<head>
<script type="text/javascript">
function showN(sc){
	var sp = document.createTextNode('textttttt');
	sc.parentNode.insertBefore(sp, sc);
	sc.parentNode.removeChild(sc);
}
</script>
</head>
<body>
bla bla bla
<script type="text/javascript" src="empty.js" onload="showN(this)"></script>
bla bla
</body>
</html>

Только создайте файл empty.js допустим с текстом //empty, что бы браузер не мучать.

yadino 17.06.2010 14:38

хыхых действительно несколько черезжопный) ладно подумаю если что еще напишу что надумал

Kolyaj 17.06.2010 14:38

Цитата:

Сообщение от Skipp
а разве с ajax сработает?

Нет. Но об ajax'е речи и не идёт, это вы тут додумывать начали.

Skipp 17.06.2010 14:39

yadino,
Чёрт, только ФФ работает)

Skipp 17.06.2010 14:41

Kolyaj, это не мои слова:)
Цитата:

Сообщение от yadino (Сообщение 59866)
....аяксом берем из файла текст, и затем меняем CHANGEIT на полученные данные.... том месте он и вывел бы текст полученный через аякс....


Kolyaj 17.06.2010 15:04

Ну да, ему тут набрехали всякого, вот он пошёл через жопу.

Skipp 17.06.2010 15:06

Kolyaj,
Наверно потому, что он не правильно задал вопрос в первой созданной теме и понеслось...

yadino 25.06.2010 09:34

вернулся к этой теме. сейчас сел, что-то не получается. А если через span, то как?
насчет вопроса, что я неправильно задал... Если отталкиваться от задачи, то задача в следующем: В определенные места страницы, через аякс подгружать текст из файла insert.txt . При этом пометок в исходном коде не должно быть видно в итоге, чтобы гугл не увидел что у меня на куче доменов одна и та же пометка- CHANGEIT.

Skipp 25.06.2010 09:40

yadino,
А использовать серверные языки, для решения вашей проблемы не выйдет? Просто такие задачи обычно с помощью их и решаются.

Kolyaj 25.06.2010 09:41

Цитата:

Сообщение от yadino
В определенные места страницы, через аякс подгружать текст из файла insert.txt .

У вас изначально было правильное решение с document.write. Что вы к аяксу прицепились?

Skipp 25.06.2010 09:44

Kolyaj,
http://javascript.ru/forum/misc/1001...ka-teksta.html
Где там правильно document.write() вставлен?:)

Kolyaj 25.06.2010 09:46

Skipp,
Цитата:

Сообщение от yadino
раньше делал document.write но спасибо форуму, подсказали что это неправильно.


Skipp 25.06.2010 09:55

Kolyaj,
он использовал document.write что бы вывести данные полученные с помощью ajax.
yadino,
используй серверные языки(допустим php), самый лучший вариант.

yadino 25.06.2010 09:56

через php у меня реализован способ, с помощью str_replace меняю CHANGEIT на текст из файла, и все. Но тут получается что текст из файла виден в исходниках страницы, а надо чтобы он подгружался яваскриптом.

хмм... итог каков? :) можно сделать только чтобы на странице оставался CHANGEIT и тогда уже менять его на свой текст?

Так то у меня все готово, мне просто надо убрать из исходников старницы CHANGEIT. чтобы где написал яваскрипт- там и вывелся результат

Kolyaj 25.06.2010 10:03

Если у вас текст всегда один и тот же, то создаёте js-файл
document.write('Текст, выводимый на странице')
. Вместо CHANGEIT в html пишете
<script type="text/javascript" src="путь к js-файлу"></script>



Если текст должен быть разный, то создаёте php-файл
document.write('<?= $text ?>')
Вместо CHANGEIT пишете скрипт с путём к php-файлу.

Skipp 25.06.2010 10:03

yadino,
ну тогда делайте как делали. И не думайте о гугле:)

yadino 25.06.2010 10:29

Цитата:

Сообщение от Kolyaj (Сообщение 61011)
Если у вас текст всегда один и тот же, то создаёте js-файл
document.write('Текст, выводимый на странице')
. Вместо CHANGEIT в html пишете
<script type="text/javascript" src="путь к js-файлу"></script>

о, отлично! Skipp, все-таки document.write сгодился :dance:
последнее что осталось прояснить, а что если в текстовом файле будет одинарная кавычка?
document.write('jason's quest')
как предотвратить конфликты заранее

Skipp 25.06.2010 10:31

yadino,
document.write('jason\'s quest') вот так

yadino 25.06.2010 10:33

как и в пхп вообщем-то да? окей ясно. спасибо Kolyaj, Skipp


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