Как вызвать и запустить функцию страницы A в/со страницы B

#javascript #jquery

Вопрос:

Можно ли вызвать и запустить функцию на странице, скажем a.html , со страницы b.html

страница a.html похожа на приведенную ниже, в которой есть функция обновления цвета фона страницы

 <!DOCTYPE html>
<html>
<head>
<title>Page A</title>
</head>
<body>

<h1>This is Page A</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" referrerpolicy="no-referrer"></script>
<script>
function UpdatePageA(){
   $("body").css("background-color","gold");
 }
</script>
</body>
</html>
 

Страница b.html похожа

 <!DOCTYPE html>
<html>
<head>
<title>Page B</title>
</head>
<body>

<h1>Update Page A from Here</h1>
<button type="button" class="btn update-page-a">Update Page A</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" referrerpolicy="no-referrer"></script>
<script>

$(".update-page-a").on("click", function(){
   UpdatePageA();
});

</script>
</body>
</html>
 

Комментарии:

1. Вы хотите , чтобы при нажатии кнопки .update-page-a изменился внешний вид страницы А? Или вы просто хотите повторно использовать эту функцию UpdatePageA() , чтобы изменить цвет фона body на странице B?

2. Привет, вообще-то, первая часть. Я хочу обновить страницу A со страницы B

Ответ №1:

Вариант № 4 здесь: https://blog.bitsrc.io/4-ways-to-communicate-across-browser-tabs-in-realtime-e4f5f6cbedca

Это при условии, что у вас открыты обе вкладки. Если вы говорите о последовательном переходе от a.html чтобы b.html, затем вы можете использовать параметры строки запроса или локальное хранилище.

Комментарии:

1. Пожалуйста, обратите внимание на эту часть: So this approach only for Browser Tabs opened via window.open() or document.open()