Nano Hash - криптовалюты, майнинг, программирование

Определенные методы WinJS.Namespace недоступны

У меня есть навигационное приложение. На странице Control присутствуют соответствующие файлы js. Я хочу получить доступ к внешнему файлу js, который находится в папке проекта js. я указал в

общие функции.js

WinJS.Namespace.define(

'commonFunctions', {

        authenticate: authenticate

    });

Теперь при доступе к методу в файле js (page2.js) PageControl

общие функции.authenticate();

выдает ошибку:

0x800a1391 — ошибка выполнения JavaScript: «commonFunctions» не определена

Если есть обработчик этого исключения, программа может быть безопасно продолжена.

Это правильный способ сделать это? Или я что-то упускаю?


  • Не могли бы вы включить код, в котором вы вызываете функцию своих объектов. 10.10.2012
  • (function () { use strict; WinJS.UI.Pages.define(/pages/configScreen/configScreen.html, { // Эта функция вызывается всякий раз, когда пользователь переходит на эту страницу. Она // заполняет элементы страницы данными приложения. data.ready: функция (элемент, параметры) { commonFunctions.authenticate(); }, выгрузка: функция () { } });} 10.10.2012

Ответы:


1

Я полагаю, что проблема, с которой вы столкнулись, заключается либо в том, что вы не указали свой файл сценария внутри загружаемой страницы, либо в том, что вы не обернули свой объект commonFunctions в функцию.

Я пробовал это: script.js

(function () {
    WinJS.Namespace.define("CommonObject", {
        auth: function () {
            return true;
        }
    });
}());

default.js

    app.addEventListener("activated", function (args) {
        if (args.detail.kind === activation.ActivationKind.launch) {
            if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
                // TODO: This application has been newly launched. Initialize
                // your application here.
            } else {
                // TODO: This application has been reactivated from suspension.
                // Restore application state here.
            }

            if (app.sessionState.history) {
                nav.history = app.sessionState.history;
            }
            args.setPromise(WinJS.UI.processAll().then(function () {
                var test = CommonObject.auth(); // Comes out true and no exceptions
                if (nav.location) {
                    nav.history.current.initialPlaceholder = true;
                    return nav.navigate(nav.location, nav.state);
                } else {
                    return nav.navigate(Application.navigator.home);
                }
            }));
        }
    });

default.html

<script src="/js/script.js"></script>
10.10.2012
  • Я сделал то же самое и добавил ссылку на скрипт. ‹script src=/js/commonFunctions.js›‹/script› И на странице навигации у меня есть следующее: (function () {use strict; WinJS.UI.Pages.define(/pages/configScreen/configScreen.html, {готово: функция (элемент, параметры) {commonFunctions.authenticate(); }}); WinJS.Namespace.define('Настройки', {saveSettings: saveSettings}); function saveSettings() {использовать строгие; ;}все та же ошибка 0x800a1391-JavaScript runtime rror:'commonFunctions' undefined 10.10.2012
  • @user1733839 user1733839 Посмотрите, правильно ли функция вызывается в вашем default.html, и если это так, то скрипт неправильно загружается на страницу, на которую вы переходите. 10.10.2012
  • У меня все это на месте. Также, когда приложение запущено, DOM Explorer показывает загруженный файл commonFunctions.js. Я также пытался получить доступ к тому же методу из файла default.js (т.е. не из файла навигации), он все равно выдает ту же ошибку. 10.10.2012
  • @user1733839 user1733839 Используете ли вы RTM-версии Visual Studio и Windows 8? 10.10.2012
  • Да, теперь это работает. В моем коде была ошибка. (function () { WinJS.Namespace.define (CommonObject, { auth: function () { return true; } }); }()); Код не был заключен в функцию (блок анонимуса ();), поэтому я не смог получить доступ к методу. Спасибо Константин :) 11.10.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..