#javascript #google-chrome #bookmarks
Вопрос:
Я хочу сохранить некоторый код JavaScript в качестве закладки в chrome, чтобы он автоматически открывал мой сайт для входа в университет и нажимал на кнопку входа. Я совершенно неопытен в JavaScript, поэтому понятия не имею, как это сделать. Я вырезал следующий код, который открывает правильный веб-сайт, но затем ни на что не нажимает. Первый URL-адрес автоматически переводит меня на сайт входа (третий URL-адрес в коде), если я еще не вошел в систему в этом окне.
(function() {
window.location.replace("https://lms.uzh.ch/auth/MyCoursesSite/0");
window.onload = function(){
if (current_url.startswith('https://lms.uzh.ch/auth/MyCoursesSite/0')) {
return;
}
if (current_url.startsWith('https://lms.uzh.ch/dmz/')) {
document.getElementById("wayf_submit_button").click();
}
};
})();
Извините, если это слишком очевидный вопрос и раздражает каких-либо экспертов, но, как я уже сказал, я полный новичок. Я бы, конечно, добавил «javascript:» в начале, чтобы chrome понял закладку.
Комментарии:
1. Добро пожаловать в Stack Overflow! Где объявлен current_url?
2. И хорошим инструментом для
javascript:
-букмарклетов является caiorss.github.io/bookmarklet-maker
Ответ №1:
Когда вы используете window.location.replace
, вы меняете адрес, и ваш код больше не может работать.
Я могу предложить использовать какое-нибудь расширение браузера, тогда ваша «функция щелчка» должна работать.
Я думаю, вы также могли бы попробовать создать какую-нибудь простую html-страницу с iframe, вы вызываете свою «функцию щелчка» на этой странице, но вы нацеливаете ее на iframe. После этого вы можете изменить местоположение браузера на веб-страницу университета, так как вы уже должны войти в систему.
<html>
<head>
</head>
<body>
<iframe src="your_university_address.com" id="some_id" onload="click_button()"></iframe>
<script>
function click_button()
{
my_iframe=document.getElementById('some_id');
my_iframe.contentDocument.getElementById('your_button_id').click();
}
</script>
</body>
</html>
Очень просто, но он должен выполнять эту работу.
(Вы можете достичь аналогичного результата, используя window.open()
I guess)