Hmm.. document.write() seems to work just fine on Opera Mini, even when
loaded from external scripts/inlined/etc. The only problem seems to be
about timing, ie. if a page takes too long to load, the scripts will be
left behind.

I haven't had a chance to checkout your code and run it locally, but could
you confirm that Opera Mini actually gets the document.write()?

When visiting this directly, on various user-agents, I don't see a
document.write

www.mediawiki.org/w/index.php?title=Special:ZeroRatedMobileAccess&zcmd=js-banner
 (I obviously get just this: window.mw.zeroConfig={"enabled":false,"id":null};
)

I'm waiting for a colleague to test and report from a network where
Wikipedia is actually free.


For your second question: Since the webpage/session/cookies are all sitting
on the server, all AJAX/inline requests will originate from the Mini Server
and not the client. The IP address will belong to our servers, and the
x-forwarded-for will be set as the client's ip.

Best regards,
Gautam


On Tue, Jul 29, 2014 at 11:27 PM, Yuri Astrakhan <[email protected]>
wrote:

> Gautam, another question for you - in addition to the previous - if I have
> a script that runs onload, which pulls some data from web servers, which
> origin IP will that request have?  E.g., a regular request from a non-opera
> client either has the ip of the client, or the client's ip is somewhere in
> the X-Forwarded-For header. When the opera mini server executes javascript
> that makes an AJAX request on behalf of a client, does it set XFF header to
> the client ip? Or does it originate from its own IP?
>
> Thanks!
>
> On Tue, Jul 29, 2014 at 11:20 AM, Yuri Astrakhan <[email protected]
> > wrote:
>
>> Jon, TimS suggested we use this approach, because we don't have ESI, and
>> we need to inject a Zero banner which is client IP dependent, without
>> varying article's HTML.
>>
>> See this RFC
>> <https://www.mediawiki.org/wiki/Requests_for_comment/Unfragmented_ZERO_design>for
>> details on why we do it and how.
>>
>> Gautam, the code is, as always, fully open source :)  See the this RFC
>> <https://www.mediawiki.org/wiki/Requests_for_comment/Unfragmented_ZERO_design#Banner_generation>
>>  (banner
>> generation) first and also here's the Repository
>> <http://git.wikimedia.org/summary/?r=mediawiki/extensions/ZeroBanner.git>,
>> code that generates
>> <http://git.wikimedia.org/blob/mediawiki%2Fextensions%2FZeroBanner.git/58a141c2ccd46049c8cc540c5a90f1d44c616556/includes%2FPageRendering.php#L347>
>> <script> & <noscript>, and this code
>> <http://git.wikimedia.org/blob/mediawiki%2Fextensions%2FZeroBanner.git/58a141c2ccd46049c8cc540c5a90f1d44c616556/includes%2FZeroSpecialPage.php#L387>outputs
>> the actual javascript.
>>
>> Thanks!
>>
>>
>> On Mon, Jul 28, 2014 at 11:14 PM, Jon Robson <[email protected]> wrote:
>>
>>> Also don't use document.write :)
>>> Out of interest what is this document.write code needed for?
>>>
>>>
>>>
>>> On Mon, Jul 28, 2014 at 12:09 PM, Gautam Chandna <[email protected]>
>>> wrote:
>>> > Opera mini doesn't support inlined scripts, as it needs to finish
>>> processing
>>> > the page as fast as possible for transcoding.
>>> >
>>> > The session/cookies/dom/etc all sits on the server while the client
>>> simply
>>> > sees the rendered page. To make this possible, we have to give up on a
>>> lot
>>> > of scripted functionality.
>>> >
>>> > It does execute the onload event for upto 5 seconds, so you could try
>>> using
>>> > that. If you're open to sharing your code, I could try and help.
>>> >
>>> > Best regards,
>>> > Gautam Chandna
>>> > +47 4567 1789
>>> > Sent from my iPhone
>>> >
>>> > On 28 Jul 2014, at 20:45, Yuri Astrakhan <[email protected]>
>>> wrote:
>>> >
>>> > Hi, I'm running into an opera mini strangeness. I have a <script
>>> src="...">
>>> > tag inside <body>, which is suppose to return document.write("some
>>> HTML");
>>> > This works fine except on opera mini, which does not seem to even call
>>> the
>>> > server, because I looked at server:source and saw the unsubstituted
>>> <script>
>>> > tag.  Any suggestions?
>>> >
>>> > _______________________________________________
>>> > Mobile-l mailing list
>>> > [email protected]
>>> > https://lists.wikimedia.org/mailman/listinfo/mobile-l
>>> >
>>> >
>>> > _______________________________________________
>>> > Mobile-l mailing list
>>> > [email protected]
>>> > https://lists.wikimedia.org/mailman/listinfo/mobile-l
>>> >
>>>
>>>
>>>
>>> --
>>> Jon Robson
>>> * http://jonrobson.me.uk
>>> * https://www.facebook.com/jonrobson
>>> * @rakugojon
>>>
>>> _______________________________________________
>>> Mobile-l mailing list
>>> [email protected]
>>> https://lists.wikimedia.org/mailman/listinfo/mobile-l
>>>
>>
>>
>


-- 
Gautam Chandna | Director - Technical Partner Management | [email protected]
| +47-4567-1789
_______________________________________________
Mobile-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mobile-l

Reply via email to