Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрытие ссылок от ПС, Авт. генерация ссылки при нажатии 
:(
    Опции темы
rz00007
  Дата 9.5.2012, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.4.2012
Где: Москва

Репутация: нет
Всего: 0



Друзья, вот пример, того что я хочу получить в итоге:
Пример закрытия ссылок в соц. кнопках

Эти ссылки не видит ПС, они генерятся, как я понимаю только при нажатии кнопки (напр. Вконтакте). Подскажите как устроен данный скрипт и каким образом его можно реализовать, чтобы закрыть все внешние ссылки на сайте! Спасибо!

--------------------
http://presite.ru - My Work Commerce CSS2 AJAX
PM MAIL WWW   Вверх
iff
Дата 9.5.2012, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



Если вы владелец того самого сайта, то транный вопрос...

На сайте также используются серверные скрипты. Хотя если вы хотите реализовать только на js, а цель - что-бы не видили поисковые системы, то пс можно "запутать", т.е. обфусцировать ссылки. Например так:
Код

<html>
<head>
<title>...</title>
<script type="text/javascript">
function OpenLink(code, key) {
    var key = parseInt(key, 16), i, s = "";
    for (i = 0; i < code.length; i += 2)
        s += String.fromCharCode(parseInt(code.substr(i, 2), 16) ^ key);
    document.location.href = s;
};
</script>
</head>
<body>
Текст Текст Текст<br>
<a onclick="OpenLink('A2BEBEBAF0E5E5B3ABE4B8BF', 'CA'); return false;" href="badbrowser.html">yandex</a><br>
Текст Текст Текст<br>
</body>
</html>
 
badbrowser.html - страница, где говрится о том, что нужно включить JS.
Кстате, клиенты, у которых JS не доступен, не смогут перейти по ссылки.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
rz00007
Дата 9.5.2012, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.4.2012
Где: Москва

Репутация: нет
Всего: 0



Цитата(iff @ 9.5.2012,  16:05)
Если вы владелец того самого сайта, то транный вопрос...

На сайте также используются серверные скрипты. Хотя если вы хотите реализовать только на js, а цель - что-бы не видили поисковые системы, то пс можно "запутать", т.е. обфусцировать ссылки.


Это готовый модуль, который я установил, с JS не знаком, по этому не могу сам разобраться, что к чему.
Вот файл исходник см. в приложении:

Добавлено через 3 минуты и 7 секунд
Собственно, мне не принципиально какой именно механизм, а суть такова, что надо скрыть ссылки. Когда я проверяю этот сайт на предмет внешних ссылок (напр. плагином firebug), то этих ссылок не видно! И даже, при наведении никаких скриптов не видно, только при нажатии!

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  ShareThis_Modul.zip 66,75 Kb
--------------------
http://presite.ru - My Work Commerce CSS2 AJAX
PM MAIL WWW   Вверх
iff
Дата 9.5.2012, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



Когда вы нажимаете по ссылке то открывается сначала http://wd.sharethis.com/api/sharer.php?(дальше разные параметры), затем пользователь перенаправляется непосредственно на страницу. Собственно и ссылке эти генерируются скриптом с sharethis.com. Скорее всего эта часть скрипта выполняется у них на сервере скрыта от нас. Если есть желание, конечно можно по-пробовать поразбираться в клиентской часте скрипта, но наверно не стоит (он очень запутан оптимизирован).



--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
rz00007
Дата 10.5.2012, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.4.2012
Где: Москва

Репутация: нет
Всего: 0



Спасибо за участие, решение было найдено!

Код

<html>
<head>
<script>
 function shared(type) {
  var submitForm, url;
  
  if(type == 'vk') {
   url = 'v'+'k'+'.'+'com';
  }

  submitForm = document.createElement("FORM");
  document.body.appendChild(submitForm);
  submitForm.method = "POST"; 
  submitForm.action= 'http://'+url;
  submitForm.submit();
  submitForm.parentNode.removeChild(submitForm);  
 }

</script>
</head>
<body>
 <a onclick="shared('vk')">Ссылка</a>
</body>
</html

--------------------
http://presite.ru - My Work Commerce CSS2 AJAX
PM MAIL WWW   Вверх
iff
Дата 10.5.2012, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



Только
1) сслыка в этом случае не выглядит как ссылка (выглядит как некликабельный текст)
2) более важное: как я и говорил
Цитата(iff @  9.5.2012,  16:05 Найти цитируемый пост)
Кстате, клиенты, у которых JS не доступен, не смогут перейти по ссылки. 

Т.е. вы потеряете часть клиентов...
3)
Цитата(rz00007 @  9.5.2012,  12:09 Найти цитируемый пост)
 закрыть все внешние ссылки на сайте!

интересно в какое количество строк превратится эта чать скрипта:
Код

  if(type == 'vk') {
   url = 'v'+'k'+'.'+'com';
  }

если учесть то, что вы хотите таким образом преобразовать ВСЕ внешние ссылки... 



--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
rz00007
Дата 10.5.2012, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.4.2012
Где: Москва

Репутация: нет
Всего: 0



1) У меня на картинке ссылка, а насчет других даже не представляю....
2) Это конечно проблема, но других ведь вариантов нет? 
3) Не я автор идеи и честно говоря сказать больше нечего)) Будет другая инфа, напишу если интересно! 
--------------------
http://presite.ru - My Work Commerce CSS2 AJAX
PM MAIL WWW   Вверх
iff
Дата 10.5.2012, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



Цитата(rz00007 @  10.5.2012,  20:21 Найти цитируемый пост)
других ведь вариантов нет?

я же предлагал более простой и оптимальный вариант:
Код

<html>
<head>
<script type="text/javascript"> 
function OpenLink(code) {
    var s = "http://";
    for (var i = 0; i < code.length; i += 2)
        s += String.fromCharCode(parseInt(code.substr(i, 2), 16));
    document.location.href = s;
}
</script>
</head>
<body>
 <a onclick="OpenLink('766B2E636F6D')">Ссылка</a>
</body>
</html>

Причём, размер кода не возрастает от количества ссылок и не содержит текст ссылок. скрипт желательно вынести в один небольшой файлик и добавлять в страницы как <script type="text/javascript" src="openlink.js"></script>.

А всё это
Цитата(rz00007 @  10.5.2012,  12:49 Найти цитируемый пост)

<html>
<head>
<script>
 function shared(type) {
  var submitForm, url;
  
  if(type == 'vk') {
   url = 'v'+'k'+'.'+'com';
  }

  submitForm = document.createElement("FORM");
  document.body.appendChild(submitForm);
  submitForm.method = "POST"; 
  submitForm.action= 'http://'+url;
  submitForm.submit();
  submitForm.parentNode.removeChild(submitForm);  
 }

</script>
</head>
<body>
 <a onclick="shared('vk')">Ссылка</a>
</body>
</html

можно просто заменить на:
Код

<html>
<body>
 <a onclick="document.location='http://'+'v'+'k'+'.com'">Ссылка</a>
</body>
</html>

  smile 
(Если хотите что-бы ссылка выглядила как ссылка, то
<a href="javascript:document.location='http://'+'v'+'k'+'.com'">Ссылка</a>  )


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
iff
Дата 10.5.2012, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



А по-хорошему это чере PHP (или др.) делается...


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
rz00007
Дата 11.5.2012, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.4.2012
Где: Москва

Репутация: нет
Всего: 0



Код

<html>
<body>
 <a onclick="document.location='http://'+'v'+'k'+'.com'">Ссылка</a>
</body>
</html>


Вау!!! Просто круть! Большое спасибо! Работает!
--------------------
http://presite.ru - My Work Commerce CSS2 AJAX
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1084 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.