Forum: Ruby on Rails Cookies and IE7. Circumvent 4KB limit?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Chris D. (Guest)
on 2008-10-27 22:44
I run a website with a Google Maps on there on which I draw custom tile
images with the help of RMagick.

To give a pleasant and responsive user experience I supply minimal
position data through a cookie with the tiles and have local JavaScript
pick it up, digest it and act on it when the mouse is moved on the map.
This works great as long as the items on 1 tile remains minimal.

Whenever the item data in the cookie grows over 3KB (4KB escaped) I
split it into several cookies. Internet Explorer 7 was patched last year
to now accept 50 instead of 20 cookies per domain, yet the hardest limit
of 4KB for ALL COOKIES in the document still remains.

Is there a way to make it happen that the limit of 4KB only applies to a
single cookie? Like FireFox handles it? Or do I have to resort to
alternative measures involving an extra call to the server.
Peter De Berdt (Guest)
on 2008-10-28 11:56
(Received via mailing list)
On 27 Oct 2008, at 21:44, Chris D. wrote:

>
> alternative measures involving an extra call to the server.
And how about instead of abusing cookies for something they weren't
made to do, doing the following:

<div id="here-is-all-my-nifty-positional-data" style="display:none;">
    ...
</div>

• No cookie abuse (that's not what they're there for, they were made
for persisting data across requests and site visits, not for passing
in data)
• No 3KB data limit
• Same behavior
• In case it matters: indexable by google and other search engines


Best regards

Peter De Berdt
Chris D. (Guest)
on 2008-10-28 15:03
Peter De Berdt wrote:
> On 27 Oct 2008, at 21:44, Chris D. wrote:
>
>>
>> alternative measures involving an extra call to the server.
> And how about instead of abusing cookies for something they weren't
> made to do, doing the following:
>
> <div id="here-is-all-my-nifty-positional-data" style="display:none;">
>     ...
> </div>
>
> • No cookie abuse (that's not what they're there for, they were made
> for persisting data across requests and site visits, not for passing
> in data)
> • No 3KB data limit
> • Same behavior
> • In case it matters: indexable by google and other search engines
>
>
> Best regards
>
> Peter De Berdt

Thanks for your input but your solution isnt really an applicable
option. I know cookies aren't there for what I wanted to do. It is a
great way to serve meta data with the image tiles at the same time
though.

Since Google Maps API handles all the requests for the tile, there is no
way to come inbetween there to fill some div with my JS data like you
suggested. If you have a practical example I'd be very glad to see it.

The data for each tile is very specific and based on several parameters
hashed to a tile name. So indexing by Google is unwanted even.
Peter De Berdt (Guest)
on 2008-10-28 20:57
(Received via mailing list)
On 28 Oct 2008, at 14:03, Chris D. wrote:

> Since Google Maps API handles all the requests for the tile, there
> is no
> way to come inbetween there to fill some div with my JS data like you
> suggested. If you have a practical example I'd be very glad to see it.

Unless I'm totally wrong on what you're trying to do, here's some
pseudocode on how I see it:

<ul id="positional-data">
    <li><em>37.4419, -122.1419</em><div class="content">put any
content for your marker here</div>
    <li><em>38.4523, -121.1887</em><div class="content">put other
content here</div>
</ul>

Javascript pseudocode (won't work, but you get the picture):

$('positional-data').select('li).each(function(el) {
    new GMarker(new google.maps.LatLng(el.down('em').innerHTML),
el.down('.content'));
});


Best regards

Peter De Berdt
This topic is locked and can not be replied to.