Hypothesis 1 seems very unlikely, because over-riding the separate execution contexts of a web browser would be a major security vulnerability (break that sandbox), and not likely to be sanctioned. Therefore, I am probably being paranoid and overlooking the obvious, which hopefully one of you will see.

@SimonBoudrias Great question. Actually no. I only checked on Stackoverflow (but it seems they load their own jQuery, so I got a false positive). My extension does not work on Google, either. Good point! Perhaps I need to change the title of question, though that could be too distracting now.
–
Cris StringfellowMar 4 '13 at 5:01

3

That little $ function they implemented is funny, it just pretends like it does something but really its just a deceiving error message. Presumably they are trying to horde of people trying to dig into facebook's guts.
–
brysgoMar 4 '13 at 5:04

Ok so, this has nothing to do with Facebook megamind or anything. It's only that you're not loading your scripts correctly. Also, make sure to prevent conflict with other jquery instances by calling noConflict. BTW I'm not sure how content scripts work, but it may be worth trying using only one concatenated script.
–
Simon BoudriasMar 4 '13 at 5:06

2 Answers
2

The Chrome console does not appear to have access to the content script's execution context.

Wrong, it does. You need to look at the correct place:

The previous screencast shows that the Console tab of the Chrome developer tools has two dropdown boxes at the bottom, which can be used to change the execution environment for the developer tools' console.
The left side can be used to change the frame context (top frame, so iframe, ...), and the right side can be used to change the script context (page, content script, ...).

That is the most awesome answer I have ever seen. It needs to be upvoted 10,000 times for the on-topic animated gif that completely answers the question and taught me like 5 new things. How did you do that gif?
–
Cris StringfellowMar 4 '13 at 12:31

3

@CrisStringfellow I'm using Byzanz. See this answer on Ask Ubuntu for my shell script which launches the tool. The generated GIFs have a reasonable quality and size. For instance, have a look at this animation. It has a duration of 40 seconds and it's only 3.7Mb.
–
Rob WMar 4 '13 at 13:50

It seems my 'experimental method' was flawed. The assumption about the Chrome console's omniscience is incorrect. The Chrome console does not appear to have access to the content script's execution context. So although console was reporting that jQuery did not have access to the page, it actually did, from the content script's execution context.

This was verified by adding a content script, test.js, to manifest.json :