Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

ui.input.style.visibility = "visible";

ui.input.value = "";

ui.input.focus;

// Вывести приглашение к вводу, опираясь на последнюю попытку

if (state.guess === undefined)

ui.prompt.innerHTML = "Type your guess and hit Enter:";

else if (state.guess < state.n)

ui.prompt.innerHTML = state.guess + " is too low. Guess again:";

else if (state.guess > state.n)

ui.prompt.innerHTML = state.guess + " is too high. Guess again:";

else {

// Если число угадано, скрыть поле ввода и отобразить кнопку

// Play Again (Играть еще раз).

ui.input.style.visibility = "hidden"; // Попыток больше не будет

ui.heading.innerHTML = document.title = state.guess + " is correct!";

ui.prompt.innerHTML =

"You Win! <button onclick='newgame(true)'>Play Again</button>“;

}

}

</script>

<style> /* CSS-стили, чтобы придать игре привлекательный внешний вид */

#prompt { font-size: 16pt; }

table { width: 90%; margin:10px; margin-left:5%; }

#low, «high { background-color: lightgray; height: 1em; }

#mid { background-color: green; }

</style>

</head>

<body><!-- Следующие элементы образуют пользовательский интерфейс игры -->

<!-- Заголовок игры и текстовое представление диапазона чисел -->

<h1 id="heading">I'm thinking of a number...</h1>

<!-- визуальное представление чисел, которые еще не были исключены -->

<table><tr><td id="low"x/td><td id="mid"x/td><td id="high”x/tdx/trx/table>

<!-- Поле ввода чисел -->

<label id="prompt"x/label><input id=”input" type="text">

</body></html>

22.3. Взаимодействие документов с разным происхождением

Как отмечалось в разделе 14.8, некоторые окна и вкладки броузера полностью изолированы друг от друга, и сценарий, выполняющийся в одном окне или вкладке, ничего не знает о существовании других окон и вкладок. В других случаях, когда сценарий сам открывает новые окна или работает с вложенными фреймами, сценарии в этих окнах и фреймах могут быть осведомлены друг о друге. Если эти окна или фреймы содержат документы, полученные от одного и того же веб-сервера, сценарии в этих окнах и фреймах смогут взаимодействовать друг с другом и манипулировать документами друг друга.

Однако иногда сценарий имеет возможность сослаться на другой объект

Window
, но, поскольку содержимое этого окна имеет иное происхождение, веб-броузер (следующий требованиям политики общего происхождения) не позволит сценарию просматривать содержимое документа в этом другом окне. Броузер не позволит сценарию читать значения свойств или вызывать методы другого окна. Единственный метод окна, который может вызвать сценарий из документа с другим происхождением, называется
postMessage,
и этот метод обеспечивает возможность ограниченных взаимодействий - в форме асинхронных сообщений - между сценариями из документов с разным происхождением. Этот вид взаимодействий определяется стандартом HTML5 и реализован во всех текущих броузерах (включая ІЕ8 и более поздние версии). Этот прием известен как «обмен сообщениями между документами с разным происхождением», но, так как прикладной интерфейс поддержки определен в объекте
Window
, а не в объекте документа, возможно, лучше было бы назвать этот прием «обменом сообщениями между окнами».

  • Читать дальше
  • 1
  • ...
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: