<?xml version="1.0" encoding="UTF-8"?>
<post>
  <body>[[[ Descriptor:
This is a bit off topic; perhaps we should make another thread for this.

Thanks for filling in for me on Opera's capabilities; it's not a system I've worked with before.

I'll assume you're right with Opera's xpath and that they have an implementation of the XMLHTTPRequest, but I don't think it behaves the same way greasemonkey's does. The vast majority of XMLHTTPRequest functions are restricted to sending requests to the same host name that the page came from. This is to prevent any malicious scripts from using people viewing the site to unknowingly be, say, flood-pinging someone's web server. Greasemonkey gets a special implementation of XHR, which can request from any host. The reason this is safe is that you (should) know what scripts you have installed and what they contain. Incidentally, this is one of the biggest reasons why the unsafeWindow is unsafe; if the object is used, malicious javascript on a website could theoretically steal the greasemonkey version of XHR and use it maliciously.

The Point: Greasemonkey scripts that depend on XHR calls to sites different than the domain of the original site may not work outside of greasemonkey.

-Joel ]]]</body>
  <body-html>&lt;p&gt;[[[ Descriptor:
&lt;br /&gt;This is a bit off topic; perhaps we should make another thread for this.&lt;/p&gt;

&lt;p&gt;Thanks for filling in for me on Opera's capabilities; it's not a system I've worked with before.&lt;/p&gt;

&lt;p&gt;I'll assume you're right with Opera's xpath and that they have an implementation of the XMLHTTPRequest, but I don't think it behaves the same way greasemonkey's does. The vast majority of XMLHTTPRequest functions are restricted to sending requests to the same host name that the page came from. This is to prevent any malicious scripts from using people viewing the site to unknowingly be, say, flood-pinging someone's web server. Greasemonkey gets a special implementation of XHR, which can request from any host. The reason this is safe is that you (should) know what scripts you have installed and what they contain. Incidentally, this is one of the biggest reasons why the unsafeWindow is unsafe; if the object is used, malicious javascript on a website could theoretically steal the greasemonkey version of XHR and use it maliciously.&lt;/p&gt;

&lt;p&gt;The Point: Greasemonkey scripts that depend on XHR calls to sites different than the domain of the original site may not work outside of greasemonkey.&lt;/p&gt;

&lt;p&gt;-Joel ]]]&lt;/p&gt;</body-html>
  <created-at type="datetime">2007-06-23T15:11:02Z</created-at>
  <forumable-id type="integer">2</forumable-id>
  <forumable-type>Forum</forumable-type>
  <id type="integer">2574</id>
  <topic-id type="integer">583</topic-id>
  <updated-at type="datetime">2007-06-23T15:11:02Z</updated-at>
  <user-agent nil="true"></user-agent>
  <user-id type="integer">24068</user-id>
</post>
