Pergunta

meu objetivo é criar uma espécie de "biblioteca Javascript," se você poderia chamá-lo assim. Eu estou com a intenção de usá-lo apenas para manipular páginas como eu navegar na web, carregá-lo dinamicamente como um script Greasemonkey. A idéia é ter "win" são mapeados para window, "doc" -> document, "win.loc" -> win.location, e alguns outros mapeamentos de conveniência, mas você começa a idéia. você pode apenas dar-me alguns exemplos para mim para pegar a sintaxe de, e eu vou extrapolar o resto? Muito obrigado.

Foi útil?

Solução

Apenas variáveis ??atribuir assim:

var win = window;
var doc = document;

Você não pode win.loc atribuir sem modificar o objeto window, neste caso, no entanto. Além disso, o objeto de janela é especial porque depois de atribuir win, você vai ser capaz de obtê-lo com win.win ou win.win.win e assim por diante (window é o objeto global.)

Em qualquer caso, você pode loc ainda atribuir ao objeto window:

win.loc = window.location;

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

Agora que é como fazer o que você está pedindo. Muito provavelmente você não deve fazer isso. Normalmente, os quadros são definidos para usar-se apenas uma variável global, com um nome adequado:

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

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

Tudo isso é coisa muito complexa, se você não estiver familiarizado com JavaScript, porém, por isso não é um projeto bom para começar se você é novo para JavaScript.

Outras dicas

** NOTA:. ** Este é realmente um pedido de esclarecimento da resposta de Blixt acima, que não caberiam em um comentário

Ok, obrigado - esta é uma resposta muito boa. Eu só gostaria de fazer alguns esclarecimentos a ele:

  • Se eu definir os aliases usando a sintaxe que você deu acima, win.loc vai se comportar exatamente o mesmo que window.location sem quaisquer excepções? (Basta ter certeza)

  • Eu segui a maior parte dele, mas a parte com a função Blixt eu não entendi. Qual é o comportamento esperado / resultado de definir esta função?

  • I am tipo novo para JS, mas por que isso não é uma boa ideia? Que consequências negativas que poderia ter? Eu estou olhando apenas para fazer coisas como C-l javascript:win.loc=doc.ref<ENTER> para uma aba que foi aberta por CTRL-clicar em um link em outra guia, nada muito complexo.

  • Falando nisso, e tenho a sensação de que este pode ser diferente de navegador para navegador, mas existe alguma maneira possível para me definir um esquema URI js: e mapeá-lo para o javascript:? Obrigado pela ótima resposta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top