Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перенос строки в alert. (https://javascript.ru/forum/misc/11358-perenos-stroki-v-alert.html)

alizid 19.08.2010 17:28

Перенос строки в alert.
 
Как можно перенести каретку, или как там это правильно называется.., в alert? В html для этого предназначен символ <br>.
Пробовал
<script type="text/javascript">
alert('Текст\n\rТекст2.\n\r');
</script>

Не получилось/

Sweet 19.08.2010 17:36

Цитата:

Сообщение от alizid
Не получилось

Интересно, в чем причина?:) Как поймешь, напиши, потому что вообще то, что написано должно работать

DMH 19.08.2010 17:37

Прогнал по популярным браузерам, везде работает перенос.

alizid 19.08.2010 17:45

В стандартной консоли ff ошибок нету. Кхм, я передаю переменную через ГЕТ и её вывожу алертом. Может быть переносы как-то кодируются в URL... щас проверю.

alizid 19.08.2010 17:51

Спасибо за ответы. ПХП функция - rawurlencode помогла. Что-то сразу сам не подумал =).

VitAl2013 03.04.2012 12:20

а если ближе к теме? тут javascript вроде, какой php? у меня tooltips не переносятся через \n. что делать?

VitAl2013 03.04.2012 14:52

Профессор, ну вы даёте... tooltips - всплывающая подсказка, она по умолчанию однострочная, надо сделать многострочную. Думалось что в таком монструозном давно развиваемом языке, как java, сделан какой-то ход для вставки знака переноса строки. То что нагуглилось либо не работает (&#13), либо это многоходовка зачастую с применением css. Хотелосьбы простое, элегантное решение как вставка спецсимволов в текст.

dmitriymar 03.04.2012 15:38

VitAl2013,
Ну и что мешает свои сделать?
Если o title html то каким боком к ним javascript?

VitAl2013 04.04.2012 07:52

1)dmitriymar,
Ну и что мешает свои сделать? - не знание вопроса и неимение времени стать профессором, чтобы сделать казалось бы простую вещь - перенос строк в подсказке. Также отсутсвие разжёванных инструкций (для чайников; встречал фразы "настройки минимальны", "всё сами поймёте" которые меня теперь пугают ибо в 10из10 за ними кроется простыня в over9000 символов без подсвеченного синтаксиса), как внедрить css в js - всё что пишут расчитанно как минимум на средний уровень и зачастую для людей кто сделал javascripting частью своей работы и жизни. (а есть желание пользоваться им как прикладным инструментом)
Если o title html то каким боком к ним javascript? - правильно ли я понимаю?: тот title, что можно заполнить с помощью javascript есть элемент языка разметки html?

Следует гуглить многострочный tooltip или перенос строк на html? <br /> - не работает и отображается как есть.

Можно ли внедрить нечто на подобии &#13 в html tooltips и потом перехватывать выводимый ими текст javasript-ом, меняя &#13 на символ переноса?
По сути html переносит строки, но делает это по какому-то алгоритму, построенному на кол-ве знаков в строке, но знак переноса строки он должен всё равно потом использовать. Можно ли вмешаться в этот алгоритм с помощью javascript и допуститим изменить то кол-во символов для переноса?

2)Раз нет элегантного решения решил углубиться. Взял Tipsy, положил рядом со своим скриптом, догружаю скрипт через
// @require ./jquery.tipsy.js

Правильно ли это, так грузить локальные скрипты? Как правильно если не так?

Теперь пытаюсь хотя бы запустить. Изменяю title через примено такие конструкции:
$("a:contains('Hello')").attr("title", "This is hello");


Как теперь натравить на этот объект tipsy tooltips? Такая конструкция не работает:
$("a:contains('Hello')").attr("title", "This is hello").tipsy();


Подскажите как по другому?

Затем планирую научиться управлять такими tipsy tooltip-ами: Переносы, иллюстрации, url.

3) Вроде получилось, но опятьже только когда я загрузил tipsy как
// @require		   [url]http://www.xiling.cn/syssource/mainpage/web/js/jquery.tipsy.js[/url]

а натравить tipsy получилось так:
$("a:contains('Hello')").tipsy();


и сейчас у меня вылезает два tooltips одновременно, стандартный и tipsy. Как быть далее?

4) Победил, но мне кажется это победа чайника над кофеваркой и есть ещё более приличные варианты:
Код который надо для загрузки tipsy библиотеки - выше.
Подгружаем стиль css, в greasemonkey это делается так:
var tipsycss = ".tipsy { padding: 5px; font-size: 10px; position: absolute; z-index: 100000; cursor: help; text-decoration: none; position: relative; }.tipsy-inner { padding: 5px 8px 4px 8px; background-color: black; color: white; max-width: 200px; text-align: center; }.tipsy-inner { border-radius: 3px; -moz-border-radius:3px; -webkit-border-radius:3px; }.tipsy-arrow { position: absolute; background: url('../images/tipsy.gif') no-repeat top left; width: 9px; height: 5px; }.tipsy-n .tipsy-arrow { top: 0; left: 50%; margin-left: -4px; }.tipsy-nw .tipsy-arrow { top: 0; left: 10px; }.tipsy-ne .tipsy-arrow { top: 0; right: 10px; }.tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -4px; background-position: bottom left; }.tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; background-position: bottom left; }.tipsy-se .tipsy-arrow { bottom: 0; right: 10px; background-position: bottom left; }.tipsy-e .tipsy-arrow { top: 50%; margin-top: -4px; right: 0; width: 5px; height: 9px; background-position: top right; }.tipsy-w .tipsy-arrow { top: 50%; margin-top: -4px; left: 0; width: 5px; height: 9px; }"
GM_addStyle(tipsycss);

Если библиотека загрузилась то натравить tipsy можно любым способом, хоть отдельно, хот как, но чтобы получить переносы строк и вообще html разметку, надо так:
$("a:contains('Hello!')").attr("title", "This <br /> is Hell<br />o!").tipsy({gravity: 'w', fade: true, html: true});

Теперь можно конфигурировать title, как угодно, хоть картинки подгружать, типа error и прочее.

Того это солянка из: Greasemonkey + jquery + tipsy + использование css внутри js - монструозно, не так как бы хотелось, но работает.

5) Картинку через <img src="http://..."> не добавить. А жаль.
Добавить: но надо использовать одинарные кавычки в src, как собственно и всё остальное что в просто html имеет двойные кавычки, тут должно быть одинарным.

P.S. Между пунктами примерно по 2 часа прошло.


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