FW: [Greasemonkey] Including other JS files and using "class"
and custom styles
Stefano POGLIANI
stefano at poglianis.net
Fri Aug 4 19:20:34 EDT 2006
Philip
will the "included" script be cached by the browser?
/Stefano
Philip Friedman - Auto Europe wrote:
> Stefano,
>
> The regexp in the xmlhttprequest is only to make the example work regardless
> of it's URL. Notice the libraryTest.user.js Greasemonkey @include directive
> (as in executes based on the URL of) references itself, so in the contrived
> example document.location.href contains the path of the library.js file URL.
>
>
> In the real world, you will want to replace everything after "url:" with the
> URL to YOUR library.js file. It may be a literal. It may be anywhere
> xmlhttpRequest can find it.
>
> I append the URL with +'?'+Math.random() to force the latest version while I
> am modifying the library. There are performance issues to consider when
> requesting large files from remote servers.
>
> --
> Regards, Phil Friedman - Auto Europe
>
> |-----Original Message-----
> |From: Stefano POGLIANI [mailto:stefano at poglianis.net]
> |Sent: Friday, August 04, 2006 9:54 AM
> |To: philip at autoeurope.com
> |Subject: Re: [Greasemonkey] Including other JS files and using
> |"class" and custom styles
> |
> |I am not sure I fully understand this, Philip.
> |
> | 1. what's the meaning of the regexp in the xmlhttprequest call?
> | 2. can I include from a "different site"? I mean, my GM script is
> | stored someowhere on the client's PC and I want it to access a
> | Javascript file that is on my web server...
> | 3. not sure I understand what you mean by "@includes
> |itself" and what
> | does not make sense in the real world.
> |
> |Thanks for your patience
> |regards
> |/Stefano
> |
> |
> |Philip Friedman - Auto Europe wrote:
> |> Maybe not "straightforward" by Anthony's standards, but it
> |does "include"
> |> library.js in libraryTest.user.js as desired.
> |>
> |> Here's the example, that works for the two files in the same
> |directory
> |> on the server. Note that libraryTest.user.js @includes
> |itself, so the
> |> URL construction won't make sense in the real world.
> |>
> |> File libraryTest.user.js:
> |>
> |> // ==UserScript==
> |> // @name LibraryTest
> |> // @namespace /phil
> |> // @description Library Test
> |> // @include http://*libraryTest.user.js
> |> // @exclude
> |> // ==/UserScript==
> |>
> |> GM_xmlhttpRequest( { method:'GET'
> |> , url:document.location.href.replace(/\/[^\/]*$/,'/library.js')
> |> , onload: onLoadLibrary
> |> } );
> |>
> |> function onLoadLibrary(rsp) {
> |> eval(rsp.responseText);
> |> libraryAlert();
> |> }
> |>
> |> File library.js:
> |>
> |> function libraryAlert() {
> |> alert('libraryAlert');
> |> GM_log('libraryAlert');
> |> }
> |>
> |> --
> |> Regards, Phil Friedman - Auto Europe - 207-842-2069
> |>
> |>
> |> |-----Original Message-----
> |> |From: greasemonkey-bounces at mozdev.org
> |> |[mailto:greasemonkey-bounces at mozdev.org] On Behalf Of Anthony
> |> |Lieuallen
> |> |Sent: Friday, August 04, 2006 9:33 AM
> |> |To: greasemonkey at mozdev.org
> |> |Subject: Re: [Greasemonkey] Including other JS files and using
> |> |"class" and custom styles
> |> |
> |> |On 8/4/2006 4:18 AM, Stefano POGLIANI wrote:
> |> |> 1. Does it work including an external Javascript script
> |inside a GM
> |> |> script?
> |> |
> |> |The only straightforward way is to copy and paste the source in.
> |> |There's no "include" statement like in some other languages.
> |> |
> |> |> 2. Is there a way where I could use some "static HTML"
> |to shortcut
> |> |> the development time? If yes, does someone have an example?
> |> |
> |> |There's a number of ways. For example:
> |> |http://www.arantius.com/article/dollar-e
> |> |
> |> |> 3. one of the issues related to my poor knowledge of JS is
> |> |that, when
> |> |> programmatically creating my widgets, I do not know
> |how to set a
> |> |> custom CSS class (the equivalent of saying <div
> |class="myclass">
> |> |> ..... how can I specify in Javascript this?)
> |> |
> |> |Since "class" is a reserved word in JavaScript, you have to use
> |> |something else. In this case, className.
> |> |
> |> |> 4. associated to the latter. If I create my own CSS
> |classes, can I
> |> |> store their definition in a CSS style sheet file and
> |"import" it
> |> |> in the GM script? If yes, how?
> |> |
> |> |Yes.
> |> |http://diveintogreasemonkey.org/patterns/add-css.html
> |> |
> |> |> 5. Final one. Can I use XUL inside a GM script?
> |> |
> |> |That question is a bit too open ended for me to understand fully; I
> |> |can't be sure, because I don't know what you're really
> |trying to do,
> |> |but I suspect the answer is no.
> |> |_______________________________________________
> |> |Greasemonkey mailing list
> |> |Greasemonkey at mozdev.org
> |> |http://mozdev.org/mailman/listinfo/greasemonkey
> |> |
> |> _______________________________________________
> |> Greasemonkey mailing list
> |> Greasemonkey at mozdev.org
> |> http://mozdev.org/mailman/listinfo/greasemonkey
> |>
> |
> |
> _______________________________________________
> Greasemonkey mailing list
> Greasemonkey at mozdev.org
> http://mozdev.org/mailman/listinfo/greasemonkey
>
More information about the Greasemonkey
mailing list