Я намагався вставити цей код [...], але нічого не відбувається, коли я його викликаю.
Коли ви використовуєте пошукову систему з універсального вікна, вона просто перетворює рядок запиту в URL. Це добре працює з фактичними URL-адресами, але це може не вдатися javascript:
.
Цей користувацький пошук ви зможете використовувати, якщо ви знаходитесь на вкладці, де відображається звичайний веб-сайт, але не, якщо ви, наприклад, переглядаєте сторінку " Нова вкладка" або " Налаштування ". Причина полягає в тому, що Chrome вимикає javascript:
URL-адреси в будь-якій формі (пряме виклик з універсального вікна, спеціальний пошук, закладка тощо) для внутрішніх chrome://
сторінок ( джерело ).
Це робиться з міркувань безпеки, оскільки ці сторінки часто містять конфіденційну інформацію (наприклад, Нова вкладка містить посилання на найбільш відвідувані веб-сайти), а JavaScript може отримати доступ до цієї інформації та поширювати її.
Чи можна змусити це працювати так чи інакше в Chrome? Я вважаю за краще досягти цього без розширень.
Я не думаю, що існує простого способу досягти цього, оскільки будь-яка спроба автоматичного відкриття декількох вкладок із загальної HTML-сторінки призведе до появи декількох нових вікон (якщо цього не потрібно).
Найкращий спосіб вирішити це, мабуть, буде розширенням.
Інші варіанти:
Продовжуйте використовувати існуючий підхід.
Просто переконайтеся, що ви не відкриєте нову вкладку перед пошуком. Оскільки ваш власний пошук не змінює існуючу вкладку, ви можете звикнути до цього.
"Розширити" пошук за допомогою закладок.
Залиште Google (наприклад) як пошук за замовчуванням і створіть таку закладку:
Name: Extend Google search
URL: javascript:var q=document.location.search.match(/[?&][pq]=(.*?)(&|$)/)[1];window.open('http://www.altavista.com/web/results?q='+q);window.open('http://www.bing.com/search?q='+q);void(0)
Якщо натиснути закладку після пошуку в Google, буде здійснено пошук у всіх інших системах.