I wonder, though, why you're needing XMLHttpRequest at all. A script like the one below rewrites all the links on the front <br>
page before you ever click on them so that they already point to the printer version (it works):<br>
<br>
<pre>// ==UserScript==<br>// @name            timestest<br>// @namespace       <br>// @include                <a class="linkification-ext" href="http://timesofindia.indiatimes.com/">http://timesofindia.indiatimes.com/</a>*<br>// ==/UserScript==
<br><br>(function ()<br>{<br>        var a, link, href;<br>        a = document.evaluate(<br>                '//a[contains(@href, &quot;articleshow&quot;)]',<br>                document,<br>                null,<br>                XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,<br>                null);<br>        for (var j = 0; j &lt; 
a.snapshotLength; j++) {<br>                link = a.snapshotItem(j);<br>                href = link.href;<br>                if (href = href.replace(/(\d+)\.cms/gi, 'msid-$1,prtpage-1.cms')){<br>                        link.href = href;<br>                }<br>        <br>        }<br>})();</pre>
<br>
<br>
&nbsp;I'm sorry, but I don't have time to wade into that morass of
frames and scripts on the <a href="http://indiatimes.com">indiatimes.com</a> homepage, I don't know the
error you *are* getting, and your script and what you're trying to do
with it are opaque to me, possibly because I'm dumb. I still think the
error on req.open() is fundamentally the result of cross-domain
requesting.<br><br><div><span class="gmail_quote">On 7/24/05, <b class="gmail_sendername">Saravanan</b> &lt;<a href="mailto:saravanannkl@gmail.com">saravanannkl@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Let me start from beginning.<br>
<br>
Times of India is the largest newspaper in India. But in their website
news articles are presented in multiple pages. To avoid visiting
multiple pages for reading a single article(Eg.
<a href="http://timesofindia.indiatimes.com/articleshow/1180725.cms" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/articleshow/1180725.cms</a>), I wrote a
GM Script which fetches content from the printer friendly of the news
article and displays them in a single page.<br>
<br>
TimesPagingRemover GM Script does the following,<br>
<br>
1. Check for the link to printer friendly page.<br>
2. If the printer friendly page exists then make a request to fetch the printer friendly page.<br>
3. Take the article content from the printer friendly page and load it in the current page.<br>
4. Hide the page navigation links(Previous/Next Links).<br>
<br>
I used GM_xmlhttpRequest for fetching the printer friendly page. But
due to the security vulnerability all GM_apis are removed in
Greasemonkey version 0.3.5. *Since the news article page and the
printer friendly page is in the same domain*, I decided to use
XMLHttpRequest to fetch the printer friendly page.<br>
<br>
Sample Urls<br>
News article page - <a href="http://timesofindia.indiatimes.com/articleshow/1180725.cms" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/articleshow/1180725.cms</a>
<br>
Printer friendly page - <a href="http://timesofindia.indiatimes.com/articleshow/msid-1180725,prtpage-1.cms" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/articleshow/msid-1180725,prtpage-1.cms
</a><br>
<br>
But if I make a request to the printer friendly page mozilla throws
security exception. Later I found that a script in the page(not my GM
script) changes the document.domain from &quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a>&quot;
to &quot;<a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>&quot;. I thought this may be a reason for the
XMLHttpRequest not working. So I tried to fetch the page
&quot;<a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://indiatimes.com</a>&quot; thru XMLHttpRequest request. It worked. So I
tried to change the document.domain to the original value
&quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a>&quot;. Mozilla throws exception for changing
the document.domain. <br>
<br>
My question : If the value of document.domain was changed from
&quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a>&quot; to &quot;<a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
indiatimes.com</a>&quot; in the page
javascript then why mozilla throws exception if I change from
&quot;<a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>&quot; to &quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
timesofindia.indiatimes.com</a>&quot; in the GM script.<br>
<br>
Hope this explains my problem. <br>
<br>
In the last two mails for easier understanding of the script I stripped
all the other code that is not related to XMLHttpRequest. Now I am
attaching two scripts <br>
<br>
TimesPagingRemover-pre0.3.5.user.js - GM script that uses GM_xmlhttpRequest for reference.<br>
TimesPagingRemover.user.js - GM script with XMLHttpRequest.<div><span class="e" id="q_1054b08c3bbc14a4_1"><br>
<br>
Thanks<br>
Saravanan<br>
<br><br><div><span class="gmail_quote">On 7/24/05, <b class="gmail_sendername">chris feldmann</b> &lt;<a href="mailto:cfeldmann@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">cfeldmann@gmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<span>On 7/24/05, <b class="gmail_sendername">Saravanan</b> &lt;<a href="mailto:saravanannkl@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">saravanannkl@gmail.com</a>&gt; wrote:
</span><div><span><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Let me state my problem simply.</blockquote></span><div><br>
But you took a step out. <br>
</div><span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
1. I am in <a href="http://timesofindia.indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/</a> website. </blockquote></span><div><br>
<div><br>1.5 <span>(quoting) 'I found
that value of document.domain is changed to &quot;<a href="http://indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>&quot;.' This is your domain.</span> </div>
1.5.5 <span>(quoting) So I
changed my script to make a request to <a href="http://indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>. It worked.</span></div><span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



2. My GM script makes xml http request to <a href="http://timesofindia.indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/</a><br>
3. Mozilla throws exception for this.</blockquote></span><div><br>
Anyway, is this the error you're talking about?<br>
<br>
<div style="margin-left: 40px;">Warning: Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead.<br>
Source File: <a href="http://timesofindia.indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/</a><br>
Line: 1230<br>
</div>
&nbsp;<br>
I think that's related to using IE's document.all, if I remember. e.g.
you have &lt;div id=&quot;xxx&quot;&gt; and reference it with xxx.attribute,
skipping the xxx = document.getElementById(xxx).<br>
But that's a separate issue, I think. What is the script supposed to do
when it's done? I can't really tell how to reproduce the behavior with
the attached script, which is kind of just a stub. <br>
</div><div><span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span>
Thanks<br>
Saravanan<br><br><div><span class="gmail_quote">On 7/24/05, <b class="gmail_sendername">chris feldmann</b> &lt;<a href="mailto:cfeldmann@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">cfeldmann@gmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div><span><span class="gmail_quote">On 7/24/05, <b class="gmail_sendername">Saravanan</b> &lt;<a href="mailto:saravanannkl@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
saravanannkl@gmail.com</a>&gt; wrote:</span></span><span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Chris,<br>
I think you have misunderstood my problem.</blockquote></span><div><br>
<br>
I'm terribly sorry. But see below... <br>
</div><span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am using *Greasemonkey 0.3.5 version* since last tuesday. Also I am
not using any GM_apis in my script now. Older versions of my script
used GM_xmlhttpRequest for fetching data. Now I am replacing
GM_xmlhttpRequest with XMLHttpRequest to make it compatible with
Greasemonkey version 0.3.5.<br>
<br>
&nbsp;&nbsp;&nbsp; I am in <a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a> website and my
script makes a request to <a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a>. So it is not
cross domain request and therefore my script should work. But my script
is not working and mozilla throws an error. While analyzing the
javascript script tags in the <a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a> page I found
that value of document.domain is changed to &quot;<a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>&quot;. So I
changed my script to make a request to <a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>. It worked. </blockquote></span><div><br>
<br>
Noted. This&nbsp; supports what I'm saying... <br>
</div><span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">So I
try to change document.domain value to &quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a>&quot;.
But mozilla throws exception for this. </blockquote></span><div><br>
It still looks like you're trying to work around the cross-domain
limitation of XMLHttpRequest by requesting to a different domain. If
one could just spoof the method by altering document.domain, that'd be
a pretty weak restriction. Whether the domain of the document you're
scripting against is set by script on the page or otherwise is
immaterial, it would seem to me. If it comes from <a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>,
you've got to request from <a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>. Note I speak as a relative
novice. Prove me wrong.<br>
&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span>
I beleive that the GM script and scripts that are already in the web
page will have the same security permissions. Why the javascript in the
page is able to change the the value of document.domain and why not my
GM script.<br>
<br>
Thanks<br><span>
Saravanan</span></span></div><div><span><div><span><br><br><div><span class="gmail_quote">On 7/24/05, <b class="gmail_sendername">chris feldmann</b> &lt;<a href="mailto:cfeldmann@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">




cfeldmann@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
First off, you should not be using any version of greasemonkey that
exposes the GM_ api's. You might not have heard, but there's a little
security problem:<br>
<a href="http://greaseblog.blogspot.com/2005/07/mandatory-greasemonkey-update.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://greaseblog.blogspot.com/2005/07/mandatory-greasemonkey-update.html
</a><br>
<br>
Second, XMLHttpRequest won't work across domains, a separate security
consideration that holds for mozilla across the board. That, I suspect,
is the source of your error on req.open(). As for changing the domain,
I'm not sure but it looks like you're just trying to pull a workaround
on that security restriction. <br><br><div><div><span><span class="gmail_quote">On 7/24/05, <b class="gmail_sendername">Saravanan</b> &lt;<a href="mailto:saravanannkl@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">





saravanannkl@gmail.com</a>&gt; wrote:</span></span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span>

Hi,<br>I am working on a Greasemonkey script that uses XMLHttpRequest. This<br>script acts on the url pattern &quot;<a href="http://timesofindia.indiatimes.com/*" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">





http://timesofindia.indiatimes.com/*</a>&quot;.<br>When the GM script tries to connect to url
<br>&quot;<a href="http://timesofindia.indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://timesofindia.indiatimes.com/</a>&quot; then mozilla throws an exception<br>&quot;Permission denied to call method 
XMLHttpRequest.open&quot;. But the GM<br>script is able to connect sucessfully to the url
<br>&quot;<a href="http://indiatimes.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://indiatimes.com/</a>&quot;.<br><br>After digging out I found that the document.domain value is changed
<br>from &quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com
</a>&quot; to &quot;<a href="http://indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">indiatimes.com</a>&quot; in the page<br>thru javascript. I thought this may be reason for XMLHttpRequest not
<br>working in my script. so I tried to change the value of<br>
document.domain back to &quot;<a href="http://timesofindia.indiatimes.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">timesofindia.indiatimes.com</a>&quot; in the script.<br>mozilla throws&nbsp;&nbsp;exception when the script tries to change the value of
<br>document.domain.
<br><br>Is my assumption correct or am I missing something. can somebody throw<br>some light on XMLHttpRequest security and how it is handled in mozilla<br>browsers.<br><br>I am attaching my GM script for reference</span>





</div></blockquote></div></blockquote></div></span></div>

</span></div><span><br>_______________________________________________<br>Greasemonkey mailing list<br><a href="mailto:Greasemonkey@mozdev.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Greasemonkey@mozdev.org</a>
<br><a href="http://mozdev.org/mailman/listinfo/greasemonkey" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mozdev.org/mailman/listinfo/greasemonkey</a><br><br><br></span></blockquote></div>



<br>

<br>_______________________________________________<br>Greasemonkey mailing list<br><a href="mailto:Greasemonkey@mozdev.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Greasemonkey@mozdev.org</a>


<br><a href="http://mozdev.org/mailman/listinfo/greasemonkey" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mozdev.org/mailman/listinfo/greasemonkey</a><br><br><br></blockquote></div><br>

</span></div><br>_______________________________________________<br>Greasemonkey mailing list<br><a href="mailto:Greasemonkey@mozdev.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Greasemonkey@mozdev.org
</a>
<br><a href="http://mozdev.org/mailman/listinfo/greasemonkey" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mozdev.org/mailman/listinfo/greasemonkey</a><br><br><br><br clear="all"></blockquote>


</span></div></div><br>

<br>_______________________________________________<br>Greasemonkey mailing list<br><a href="mailto:Greasemonkey@mozdev.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Greasemonkey@mozdev.org</a>
<br><a href="http://mozdev.org/mailman/listinfo/greasemonkey" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mozdev.org/mailman/listinfo/greasemonkey</a><br><br><br></blockquote></div><br>

</span></div><br>_______________________________________________<br>Greasemonkey mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Greasemonkey@mozdev.org">Greasemonkey@mozdev.org</a>
<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mozdev.org/mailman/listinfo/greasemonkey" target="_blank">http://mozdev.org/mailman/listinfo/greasemonkey</a><br><br><br><br clear="all"></blockquote>
</div><br>