Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка строки на наличие того или иного текста (https://javascript.ru/forum/misc/42450-proverka-stroki-na-nalichie-togo-ili-inogo-teksta.html)

koeshiro 27.10.2013 10:12

Проверка строки на наличие того или иного текста
 
Предположим что мы получили из ссылки или из текста гиперссылку. Но чтоб пользователь не ушёл на другой сайт нужно определить как открыть этот сайт в iframe (Мол для безопасности :D ). А может ссылка вообще на наш сайт и просто нужно сделать новое фреймовое окно?
Я думал на тот повод чтоб из строки сделать массив по /
var url='http://site.name/name/name/name';//Да ясен пень что второй  будет пустым.
var aurl=url.split('/');
Но понял что это не эффективно всего по одной причине. Ссылка не всегда выглядит так: http://site.name/name/name/name . . . И тут я задался вопросом. А как можно сравнить отдельные части url и не был ли этот url открыт уже открыт в iframe?
Быть может там вообще ссылка на картинку? И её можно открыть фоном что бы люди могли свернуть iframe и полюбоваться ей.

danik.js 27.10.2013 11:41

Цитата:

Сообщение от koeshiro
Быть может там вообще ссылка на картинку?

Невозможно определить что находится по ссылке пока не отправишь запрос и не получишь заголовки ответа. Причем средствами js насколько я знаю это сделать невозможно. Так что теоретически задача не решаемая.

koeshiro 27.10.2013 11:54

Это можно узнать по самой ссылке. Естественно если ссылка является ммм Скажем так: Обычной. То есть обладает окончанием .jpg .png .bmp Такие ссылки можно превратить в картинки =) А значит задача условно решена. Только условно. . . И не безупречно. Ведь ссылка может быть не прямой в этом случае откроется она как iframe что тоже допустимо. :)

ruslan_mart 27.10.2013 12:04

То есть, если ссылка на сторонний сайт, то открывать страницу в фрэйме?

<iframe id="test" style="display:none"></iframe>


var links = document.links,
	href = location.protocol + '//' + location.hostname,
	i = 0,
	fr = document.getElementById('test');

for(; i<links.length; i++) if(links[i].href.indexOf(href) + 1) links[i].onclick = function() {
	fr.src = this.href;
	if(fr.style.display == 'none') fr.style.display = '';
}

koeshiro 27.10.2013 12:16

Ruslan_xDD,
Весь прикол в том что ссылки изначально являются лишь текстом. И что бы преобразовать их в гиперссылки мне нужно найти этот самый текст. А как такое сделать не знаю. И по этому пишу сюда.

koeshiro 27.10.2013 12:27

Ruslan_xDD,
И у вас самая первая ссылка пропущена будет.


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