Вопрос

моя цель - создать своего рода "библиотеку Javascript", если это можно так назвать.Я намереваюсь использовать его для простого манипулирования страницами во время просмотра веб-страниц, динамически загружая его как скрипт greasemonkey.Идея состоит в том , чтобы иметь "win" получить отображение на window, "doc" -> document, "win.loc" -> win.location, и несколько других удобных сопоставлений, но вы поняли идею.Не могли бы вы просто привести мне несколько примеров, из которых я мог бы понять синтаксис, а остальное я экстраполирую?Большое спасибо.

Это было полезно?

Решение

Просто назначьте переменные следующим образом:

var win = window;
var doc = document;

Вы не можете назначить win.loc без изменения window однако возражайте в данном случае.Кроме того, объект window является особенным, потому что после назначения win, вы сможете получить это с win.win или win.win.win и так далее (window является глобальным объектом.)

В любом случае, вы может все еще назначаю loc к тому window объект:

win.loc = window.location;

// Can now be referenced as:
loc; // (window is the global object)
win.loc;
win.location;
window.location;

Теперь вот как сделать то, о чем вы просите.Скорее всего , вы не должен сделай это.Обычно фреймворки определены так, чтобы использовать только одну глобальную переменную с подходящим именем:

var Blixt = (function () {
    var localVariable = 123;

    return {
        loc: window.location,
        myFunc: function () {
            alert(localVariable);
        }
    };
})();

Однако все это довольно сложный материал, если вы не знакомы с JavaScript, так что это не самый лучший проект для начала, если вы новичок в JavaScript.

Другие советы

** ПРИМЕЧАНИЕ: ** На самом деле это просьба разъяснить приведенный выше ответ Бликста, который не уместился бы в один комментарий.

Хорошо, спасибо - это довольно хороший ответ.Я просто хотел бы внести в это некоторые уточнения:

  • Если я определю псевдонимы, используя синтаксис, который вы привели выше, win.loc будет вести себя именно так то же самое , что window.location без каких-либо исключений?(Просто удостоверяюсь)

  • Я следил за большей частью этого, но за той частью, в которой Blixt функция, которую я не понял.Каково ожидаемое поведение / результат определения этой функции?

  • Я ам своего рода новичок в JS, но почему это не очень хорошая идея?Какие негативные последствия это могло бы иметь?Я просто хочу делать такие вещи, как C-l javascript:win.loc=doc.ref<ENTER> для вкладки, которая была открыта щелчком CTRL по ссылке на другой вкладке, ничего слишком сложного.

  • Говоря об этом, и у меня есть ощущение, что это может отличаться от браузера к браузеру, но есть ли какой-либо возможный способ для меня определить js: Схему URI и сопоставьте ее с javascript: один?Спасибо за отличный ответ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top