<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0%3AIncnis_Mrsi%2Fclinks.js</id>
	<title>Обсуждение участника:Incnis Mrsi/clinks.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0%3AIncnis_Mrsi%2Fclinks.js"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Incnis_Mrsi/clinks.js&amp;action=history"/>
	<updated>2026-11-04T22:24:07Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Incnis_Mrsi/clinks.js&amp;diff=46772&amp;oldid=prev</id>
		<title>imported&gt;Incnis Mrsi: отучаемся говорить за всю сеть</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Incnis_Mrsi/clinks.js&amp;diff=46772&amp;oldid=prev"/>
		<updated>2016-03-28T10:11:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=%D0%9E%D1%82%D1%83%D1%87%D0%B0%D0%B5%D0%BC%D1%81%D1%8F_%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B8%D1%82%D1%8C_%D0%B7%D0%B0_%D0%B2%D1%81%D1%8E_%D1%81%D0%B5%D1%82%D1%8C&quot; title=&quot;Отучаемся говорить за всю сеть&quot;&gt;отучаемся говорить за всю сеть&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var link = document.getElementsByTagName(&amp;#039;a&amp;#039;)[0];&lt;br /&gt;
console.log(&amp;quot;First link host: &amp;quot; + link.hostname); // link.host := domain[&amp;quot;:&amp;quot; + port], а link.hostname порт не содержит&lt;br /&gt;
console.log(&amp;quot;Current host: &amp;quot; + location.hostname);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
: И что даст извлечение hostname методами DOM? Мне же важно отсеять уже имеющиеся относительные ссылки (какие генерирует, например, тэг &amp;amp;lt;ref&amp;gt;) чтобы &amp;#039;&amp;#039;&amp;#039;не трогать&amp;#039;&amp;#039;&amp;#039; их. Тронешь — сломается; я же тестировал. — [[Участник:Incnis Mrsi|Incnis Mrsi]] 12:14, 27 марта 2016 (MSK)&lt;br /&gt;
:: В href всегда полный путь лежит, если хочешь как есть, то нужно link.getAttribute(&amp;quot;href&amp;quot;). Ты вообще что-то непонятное делаешь. По всей видимости скоро Абсолютное Зло выберется на свободу, и в мире воцариться Тьма.&lt;br /&gt;
::: @Навальнобот: Ещё раз, чем плох мой код? Не работает в [[IE|некоторых]] браузерах? — отлично, вот ты и объяснишь, как исправить. Слишком много проверок? — сам поставь эксперимент: попробуй перезаписать href в ссылке, созданной &amp;amp;lt;ref&amp;gt;ом. Что ты &amp;#039;&amp;#039;предлагаешь делать&amp;#039;&amp;#039;? Забить на переопределение ссылок на страницах и сосредоточиться на исправлении их редактором? — [[Участник:Incnis Mrsi|Incnis Mrsi]] 13:11, 27 марта 2016 (MSK)&lt;br /&gt;
:::: ты просто заменяешь нерабочие ссылки ведущие на адреса тип http://lurkmore.to/Хуй на рабочие (домен подменяешь). Я к тому что не нужно там ссылку регуляркой разбивать на части и что-то делать. Твою громоздкую конструкцию можно так переписать:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
addOnloadHook(function() {&lt;br /&gt;
  var links = document.getElementsByTagName(&amp;#039;a&amp;#039;);&lt;br /&gt;
  for (var i = 0; i &amp;lt; links.length; ++i) {&lt;br /&gt;
    var link = links[i];&lt;br /&gt;
    if (/^(?:www\.)?lurkmore\.[a-z]{2,}$/.test(link.hostname)) {&lt;br /&gt;
      if (link.protocol == &amp;quot;https:&amp;quot;) {&lt;br /&gt;
        link.protocol = &amp;quot;http:&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      link.hostname = location.hostname;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
::::: Тогда ответь на такой вопрос. Лично у меня работает http://lurkmore.to/⁠, но не работает https://lurkmore.to/⁠. Можешь назвать меня ламером, но это — пример из жизни, а не умозрительные рассуждения. Твой вариант меняет в https-варианте link.hostname на тот же самый, и… PROFIT? — [[Участник:Incnis Mrsi|Incnis Mrsi]] 14:02, 27 марта 2016 (MSK)&lt;br /&gt;
:::::: это как пример if (link.protocol == &amp;quot;https:&amp;quot;) link.protocol = &amp;quot;http:&amp;quot;;&lt;br /&gt;
::::: А если наоборот, конечный пользователь боится голого HTTP как чумы? Вот нафига ты придираешься к моему стилю и якобы неэффективности? Я зато &amp;#039;&amp;#039;продумал&amp;#039;&amp;#039; [[template talk:diff|вещи]], о которых ты впервые услышал вчера. Лучше б поискал дефекты в самой концепции, или хотя бы баги. — [[Участник:Incnis Mrsi|Incnis Mrsi]] 14:19, 27 марта 2016 (MSK)&lt;br /&gt;
:::::: {{b/q|о которых ты впервые услышал вчера}} :-D. если хочешь, чтобы твоим скриптом пользовались другие, делай расширение. мне вот лень даже разбираться как оно все работает&lt;br /&gt;
::::::: Ну наконец-то какой-то конструктив. Для Mozilla — расширение, для Google Chrome — расширение, для Opera — расширение, для IE — расширение… да я спасибо скажу тому, кто сделает для этих браузеров штучку, запускающую один оператор «importScript(&amp;#039;user:Incnis_Mrsi/clinks.js&amp;#039;);» на всех доменных именах Лурка. Но вот &amp;#039;&amp;#039;самому&amp;#039;&amp;#039; заниматься этим для нескольких безразличных мне браузеров? Извините, не интересно. — [[Участник:Incnis Mrsi|Incnis Mrsi]] 15:11, 27 марта 2016 (MSK)&lt;br /&gt;
:::::::: Вообще-то у всех стоит Хром. А всякие Яндекс браузеры и Оперы созданы на основе движка Хромиум, т.е. расширения для хрома будут работать в них.&lt;br /&gt;
::::::::: [[:en.w:Opera (web browser)|Opera]] сделана на основе гуглодвижка? Вот это открытие. И [[отучаемся говорить за всю сеть]], заодно. — [[Участник:Incnis Mrsi|Incnis Mrsi]] 13:11, 28 марта 2016 (MSK)&lt;br /&gt;
{{Note|2=&lt;br /&gt;
А никому в голову не приходило, что если у клиента проблемы с какими-то протоколами, то это проблемы клиента. А если это проблемы клиента, то и решаться они должны на стороне клиента. Для таких вещей существует система аддонов браузера. И клиентам следует поискать подходящие аддоны, которые будут редиректить их на http. Если таких аддонов нет, то существует greasemonkey и юзерскрипты, которыми легко взять и запилить костылик, чтобы подпереть систему. При этом эти серверные костыли не решат всех проблем клиентов: ссылки на сторонних ресурсах ведущие на лурк у них всё равно не будут работать. Кроме того, меня, например, не поломанная система, но баги вызванные костылями сервера, решающими проблемы поломанных клиентов, будут касаться и меня тоже. Надо очень тщательно выбирать то звено системы, в котором надо решать проблему. Отсутствие прилежания в этом вопросе говорит о поломанном и неработающем системном мышлении. — [[Участник:Срикет|Срикет]]&lt;br /&gt;
: О системности мышления автора говорит [[:diff:2647780]]. — [[Участник:Incnis Mrsi|Incnis Mrsi]] 14:47, 27 марта 2016 (MSK)}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;margin:2em&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Переопределение ссылок ==&lt;br /&gt;
&lt;br /&gt;
Как вариант, можно ограничиться лишь элементами &amp;amp;lt;a… class=&amp;quot;external …&amp;quot;&amp;gt;, чтобы при отборе кандидатов не связываться с извращениями от getAttribute(). Только смысл работать над этим, если скрипт никому кроме меня не будет нужен? — [[Участник:Incnis Mrsi|Incnis Mrsi]] 13:25, 27 марта 2016 (MSK)&lt;/div&gt;</summary>
		<author><name>imported&gt;Incnis Mrsi</name></author>
	</entry>
</feed>