Frage
mein Ziel ist es, eine Art zu schaffen „Javascript-Bibliothek“, wenn man es so nennen kann. Ich bin die Absicht, es zu verwenden, um nur Seiten zu manipulieren, wie ich im Internet surfen, dynamisch es als ein Greasemonkey-Skript geladen werden. Die Idee ist, "win
" get abgebildet window
"doc
" zu haben -> document
"win.loc
" -> win.location
, und ein paar andere Convenience-Zuordnungen, aber Sie bekommen die Idee. Können Sie mir nur ein paar Beispiele für mich die Syntax von, zu holen, und ich werde den Rest extrapolieren? Vielen Dank.
Lösung
Just Variablen zuweisen wie folgt:
var win = window;
var doc = document;
Sie können nicht win.loc
zuweisen, ohne jedoch in diesem Fall das window
Objekt zu modifizieren. Auch das Fensterobjekt ist etwas Besonderes, weil nach win
zuweisen, können Sie es mit win.win
oder win.win.win
bekommen und so weiter (window
ist das globale Objekt.)
Auf jeden Fall Sie können noch loc
zum window
Objekt zuweisen:
win.loc = window.location;
// Can now be referenced as:
loc; // (window is the global object)
win.loc;
win.location;
window.location;
Nun, das ist, wie zu tun, was Sie fragen. Höchstwahrscheinlich werden Sie nicht dies tun. Normalerweise werden definiert Gerüste nur eine globale Variable, mit einem geeigneten Namen aufbrauchen:
var Blixt = (function () {
var localVariable = 123;
return {
loc: window.location,
myFunc: function () {
alert(localVariable);
}
};
})();
Das alles ist ziemlich komplex Sachen, wenn Sie mit JavaScript wenn auch nicht vertraut sind, so ist es nicht ein gutes Projekt zu beginnen, wenn Sie JavaScript neu sind.
Andere Tipps
. ** Hinweis: ** Das ist wirklich eine Bitte um Klärung der Blixt Antwort oben, die nicht in einen Kommentar passen würde
Ok, danke - das ist eine ziemlich gute Antwort. Ich würde nur einige Präzisierungen machen, mögen:
-
Wenn ich die Aliase mit der Syntax definieren Sie oben gegeben haben, wird
win.loc
verhalten genau die gleiche wiewindow.location
ohne Ausnahmen? (Just sicherstellen) -
Ich folgte das meiste davon, aber der Teil mit der
Blixt
Funktion, die ich nicht verstand. Was ist das erwartete Verhalten / Ergebnis dieser Funktion definieren? -
I am irgendwie neu zu JS, aber warum ist dies nicht eine gute Idee? Welche negativen Folgen könnte es haben möglicherweise? Ich suche nur für ein Tab Dinge wie
C-l javascript:win.loc=doc.ref<ENTER>
zu tun, die durch STRG + Klicken auf einen Link in einem anderen Register, nichts zu komplex. geöffnet wurde
-
Apropos, und ich habe das Gefühl, dass dies von Browser zu Browser unterschiedlich sein könnte, aber gibt es eine Möglichkeit, für mich ein
js:
URI-Schema definieren und an denjavascript:
einer Karte? Vielen Dank für die große Antwort.