Как обновить переменную в файле JS с дочерней страницы aspx
У меня есть файл JS с кодом ниже. Мне нужно обновить значение переменной currentIndex со своей дочерней страницы aspx. Прямо сейчас это js refrence находится над родительской страницей. Я хотел бы знать, как это сделать. Какой синтаксис должен быть передан со страницы child.aspx, чтобы везде обновленное значение currentIndex.
(function($, global, undefined) {
var slides, currentIndex, $container, $fragmentLinks;
var events = {
...
prev: function() {
methods.go(currentIndex-1);
},
...
1 ответ
Вы могли бы выставить функцию, которая будет изменять currentIndex
переменная к глобальной области видимости. Но этот подход плохо масштабируется и должен рассматриваться как плохая практика, поскольку он может привести к конфликтам имен и другим недостаткам. Как избежать глобальных переменных в JavaScript?, Поэтому, если вам нужен доступ к родительской странице из дочерних фреймов, вам следует подумать о более эффективном подходе, таком как общение через сообщения /questions/5684496/vyizov-roditelskoj-okonnoj-funktsii-iz-iframe/5684505#5684505 или аналогичная пользовательская реализация.
В настоящее время самый простой способ решить вашу проблему - определить функцию установки, которая будет обновлять currentIndex
переменная:
(function($, undefined) {
var slides, currentIndex, $container, $fragmentLinks;
window.setCurrentIndex = function(indexValue) {
currentIndex = indexValue;
};
var events = {
...
prev: function() {
methods.go(currentIndex-1);
},
...
И если вы хотите установить значение индекса 3
например, вы можете сделать:
window.setCurrentIndex(3);