Почему я не могу получить обновленный массив "cars" в моем новом всплывающем окне - PullRequest
0 голосов
/ 19 мая 2011

Моя index.html имеет кнопку (id="my-btn"):

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>My INDEX PAGE</title>
    </head>
    <body>
        <br><input type="button" id="my-btn" value="OPEN NEW WINDOW"/>
        <script src="js/my.js"></script>
    </body>
    </html>

на странице выше my.js , который обрабатывает событие нажатия кнопки, при нажатии кнопки открывается новое окно браузера с новой страницей ( test.html )

my.js:

$('#my-btn').click(function(){  
  window.open('test.html', 'testwindow');
});

Новая страница ( test.html ) открылась / всплыла в новом окне браузера: test.html:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TEST</title>
</head>
<body>
    <div id="cars"></div>
    <script src="js/jquery-1.5.1.js"></script>
    <script src="js/mycar.js"></script>
    <script src="js/test.js"></script>

</body>
</html>

На новой странице включено test.js , которое вызовет функции в MyTest и добавит текст номера автомобилей каксодержимое этой всплывающей страницы:

js / test.js

$(document).ready(function(){
    MyTest.updateCars(); //MyTest is a function defined in mycar.js
    var cars = MyTest.getCars(); 
$("#cars").append("<strong>number of cars: "+cars.length+"</strong>");
});

Функция MyTest определена в mycar.js:

js / mycar.js

var MyTest = function(){
    var cars=[];

    var updateCars=function(){
        cars.push('car 1', 'car 2');
    };

    return{
        updateCars: function(){
            updateCars();
        },
        getCars: function(){
            console.log(cars.length);
            return cars;
        }
    };
}();

Но когда страница test.html появилась в новом окне браузера, окноколичество машин всегда равно 0.

Как вы видели выше, я назвал updateCars() функцию mycar.js in test.js , но во всплывающем окне не отображается обновленный номер машины, как я могу получить обновленные автомобили (это 2 машины, car1 и car2) в новом всплывающем окне?

(У меня есть jquery-1.5.1.js в каталоге "js /")

1 Ответ

1 голос
/ 19 мая 2011

эй, я вставил твой код на страницу, и он отобразил

 number of cars: 2

это похоже на работу, вы просто ссылаетесь на скрипт неправильно? Вы пробовали отладчик на Chrome или Firebug?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...