Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I suspect the problem is the raw size of the data you're transmitting, based on the results of number 2 in "What I have tried so far." I don't think you can rely on browser caching, and server-side caching won't change the size of the data transmitted.</p> <p>Here are a couple of ideas to reduce the amount of data transmitted during page load: </p> <ol> <li>Load the select box separately, after the main page has been delivered, using an asynchronous javascript call.</li> <li>Break the choice into a hierarchical series of choices. User chooses the top-level category, then another select box is populated with matching sub-categories. When they choose a sub-category, the third box fills with the actual options in that sub-category. Something like <a href="http://www.pengoworks.com/qforms/docs/examples/n-related_selectboxes.htm" rel="nofollow">this</a>. Of course, this only works if those 2nd and 3rd controls are filled-in using an async javascript call.</li> </ol> <p>Either way, make sure gzip compression is enabled on your server.</p> <p><strong>Edit: More on browser caching</strong><br> The browser caches individual files, and you typically don't ask it to cache PHP pages because they may be different next time. (Individual php includes are invisible to the browser, because PHP combines their contents into the HTML stream.) If you use a browser's developer console (hit f12 on Chrome and go to Network, for example), you can see that most pages cause multiple requests from the browser to the server, and you may even see that some of those files (js, css, images) are coming from the cache.</p> <p>What the browser caches and for how long is controlled by various HTTP response headers, like <code>Cache-Control</code> and <code>Expires</code>. If you don't override these in php by calling the <code>header</code> function, they are controlled by the web server (Apache) configuration.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload