Откройте новую веб-страницу с открытым в данный момент сайтом с помощью букмарклета JavaScript

Я пытаюсь создать букмарклет JavaScript. По сути, сначала я перейду к site1.com, затем нажму на букмарклет, и он возьмет URL-адрес site1.com и откроет site2.com/go.php?go=site1.com

Итак, JavaScript должен добавить site1.com к site2.com/go.php?go=, а затем открыть веб-страницу по адресу site2.com/go.php?go=site1.com.

вам может понадобиться вставить ссылку на site1, так как браузер будет блокировать вызовы window.open() вне вкладки (например, букмарклеты). тогда вы просто проходите location.host

dandavis 20.05.2019 22:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Этот букмарклет сделает именно то, о чем вы просите:

javascript:window.location='http://site2.com/go.php?go='+escape(window.location.hostname);

Потенциальная проблема с этим букмарклетом заключается в том, что он отправит вас на http://site2.com/go.php?go=site1.com откуда вы https://site1.com/secret.html?query=etc или http://site1.com. То есть, где бы вы ни находились в site1.com, когда вы нажмете на букмарклет, он все равно отправит вас в http://site2.com/go.php?go=site1.com.


Итак, я подозреваю, что вместо этого вы можете захотеть:

javascript:window.location='http://site2.com/go.php?go='+escape(window.location);

Это позволит строке запроса точно показать, где вы находились site1.com, когда нажали на букмарклет, а также включить схему URI (части http:// или https:// адреса site1.com). Используя те же два примера соответственно, этот букмарклет отправит вас на http://site2.com/go.php?go=https://site1.com/secret.html?query=etc¹ и http://site2.com/go.php?go=http://site1.com/


  1. На самом деле он будет процентно кодировать адрес site1.com и отправлять вас на http://site2.com/go.php?go=https%3A//site1.com/secret.html%3Fquery%3Detc, потому что адрес site1.com содержит несколько символы, которые не подходят для использования в качестве фрагментов URI, если они не закодированы.
  2. Собственно к http://site2.com/go.php?go=http%3A//site1.com/ по той же причине.

Спасибо, это именно то, что мне было нужно.

Henry The Least 11.06.2019 03:35

Другие вопросы по теме