Я хотел бы создать простой букмарклет, который:не может выполнить функцию на новом окне Открыт с Bookmarklet
- открывает определенный веб-сайт в новой вкладке (окне)
- и отправляет строку поиска сайта поле.
мне удается делать 1 и 2 отдельно, но при вводе их вместе вкладка открывается без поля поиска, получающего любой вход.
У меня мало идеи, что я делаю неправильно здесь. Какое решение вы можете предложить?
Мой код:
(function(foo){
// 1.) open new tab/window
var myWindow = window.open('http://www.fakespot.com/', '_blank');
myWindow.focus();
// 2.) input + click submit button
document.getElementById("url").value = "test input";
document.getElementsByName("commit")[0].click();
})('foo')
Не работает либо:
...
myWindow.document.getElementById("url").value = link;
myWindow.document.getElementsByName("commit")[0].click();
...
Transform JavaScript в букмарклет здесь: http://chriszarate.github.io/bookmarkleter/
Вам нужно будет использовать что-то вроде TaperMonkey – epascarello
Почему Javascript подводит нас сюда? Где фактическая точка разлома? – pykong
Проблема в том, что код букмарклета, который вы используете, не работает в новом окне. И с той же политикой происхождения, вам нужно будет быть на веб-сайте сначала, прежде чем щелкнуть закладку, чтобы сделать код работать. Если это правильно, вам нужно добавить код, чтобы ждать загрузки окна, чем вы можете ссылаться на элементы формы внутри страницы. – epascarello