Sponsored Content
The Lounge What is on Your Mind? Javascript CDN Loading Issues - Changed to Google CDN Post 303020991 by Neo on Thursday 2nd of August 2018 01:34:25 AM
Old 08-02-2018
Javascript CDN Loading Issues - Changed to Google CDN

Yesterday a couple of people on the West Coast of the US reported some issues loading the home page, and in particular it seemed like parts of the site was blocked from loading because of some networking issues.

In order to hopefully fix this issue, I have changed a couple of our Javascript libraries to load from the Google CDN, in particular:

Code:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.9.0/build/yahoo-dom-event/yahoo-dom-event.js?v=387"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.9.0/build/connection/connection-min.js?v=387"></script>

The two YUI libs were served from Yahoo's CDN, but this seems to cause problems compared to serving the same from Google.

If you see any more blocking issues, please let us know.

I think the problem is solved, because I tested both the Yahoo libs and the Google libs and the Google libs seem to load faster without any issues; however, we experienced an issue on the West Coast of the US, so perhaps Yahoo had a problem with their CDN.

Actually, I would like to move completely off these old Yahoo YUI JS libs, but that would mean I would have to rewrite a lot of legacy JS code to work with JQuery instead of YUI; and it's not a priority.

If anyone wants to take this huge project on, please let me know! Smilie

Anyway, I'm not convinced this was the problem for our West Coast users yesterday, because normally these Javascript libs are cached in memory, so even if the network is having problem, the libs should load from memory (or disk cache).
Javascript CDN Loading Issues - Changed to Google CDN-screen-shot-2018-08-02-124110-pmpng
 
Jifty::Web::PageRegion(3pm)				User Contributed Perl Documentation			       Jifty::Web::PageRegion(3pm)

NAME
Jifty::Web::PageRegion - Defines a page region DESCRIPTION
Describes a region of the page which contains a Mason fragment which can be updated via AJAX or via query parameters. new PARAMHASH Creates a new page region. The possible arguments in the "PARAMHASH" are: name The (unqualified) name of the region. This is used to generate a unique id -- it should consist of only letters and numbers. path The path to the fragment that this page region contains. Defaults to "/__jifty/empty", which, as its name implies, is empty. arguments (optional) (formerly 'defaults') Specifies an optional set of parameter defaults. These should all be simple scalars, as they might be passed across HTTP if AJAX is used. See Jifty::Web::Form::Element for a list of the supported parameters. force_arguments (optional) Specifies an optional set of parameter values. They will override anything sent by the user or set via AJAX. force_path (optional) A fixed path to the fragment that this page region contains. Overrides anything set by the user. parent (optional) The parent Jifty::Web::PageRegion that this region is enclosed in. region_wrapper (optional) A boolean; whether or not the region, when rendered, will include the HTML region preamble that makes Javascript aware of its presence. Defaults to true. lazy (optional) Delays the loading of the fragment until client render-time. Obviously, does not work with downlevel browsers which don't support javascript. loading_path (optional) The fragment to display while the client fetches the actual region. Make this lightweight, or you'll be losing most of the benefits of lazy loading! name [NAME] Gets or sets the name of the page region. qualified_name [NAME] Gets or sets the fully qualified name of the page region. This should be unique on a page. This is usually set by "enter", based on the page regions that this region is inside. See "qualified_region" in Jifty::Web. default_path [PATH] Gets or sets the default path of the fragment. This is overridden by "path". path [PATH] Gets or sets the path that the fragment actually contains. This overrides "default_path". default_argument NAME [VALUE] Gets or sets the default value of the "NAME" argument. This is used as a fallback, and also to allow generated links to minimize the amount of state they must transmit. argument NAME [VALUE] Gets or sets the actual run-time value of the page region. This usually comes from HTTP parameters. It overrides the "default_argument" of the same "NAME". arguments [HASHREF] Sets all arguments at once, or returns all arguments. The latter will also include all default arguments. enter Enters the region; this sets the qualified name based on "qualified_region" in Jifty::Web, and uses that to pull runtime values for the "path" and "argument"s from the "state_variables" in Jifty::Request before overriding them with the "force" versions. exit Exits the page region, if it is the most recent one. Normally, you won't need to call this by hand; however, if you are calling "enter" by hand, you will need to call the corresponding "exit". as_string Deals with the bulk of the effort to show a page region. Returns a string of the fragment and associated javascript (if any). render Calls "enter", outputs the results of "as_string", and then calls "exit". Returns an empty string. make_body Outputs the results of the region to the current buffer. render_as_subrequest get_element [RULES] Returns a CSS2 selector which selects only elements under this region which fit the "RULES". This method is used by AJAX code to specify where to add new regions. client_cacheable Returns the client cacheable state of the regions path. Returns false if the template has not been marked as client cacheable. Otherwise it returns the string "static" or "action" based on the cacheable attribute set on the template. client_cache_content Returns the template as JavaScript code. perl v5.14.2 2010-12-08 Jifty::Web::PageRegion(3pm)
All times are GMT -4. The time now is 08:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy