sourceMappingURL from jquery generates 404 error in apache

99封情书 提交于 2019-11-30 04:19:17

There are several ways to remove the error.

  1. By default Chrome will enable source maps. You can disable this by opening the Developer Tools and changing the general settings. Uncheck the Enable source maps option. This of course won't fix the error on Apache.

  2. Change your pages to use a CDN served by jQuery or Google rather than using a local version. This will stop your local Apache from showing the issue in your logs.

  3. Alternatively, you will have to rewrite the comment at the top of your local version of jquery-1.10-2.min.js to stop this error. Otherwise you'll need to wait for a patch by jQuery.

From:

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-1.10.2.min.map
*/

To:

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */

sourceMappingURL is an HTML5 feature which has under gone some changes in the last months.

JQuery 2.1.4 min file causes 404 with IE > 8 when it attempts to download map file. jquery-2.1.4.min.js has following as last line:

//# sourceMappingURL=jquery.min.map

There are two (good) options to fix this.

Option ONE (preferred, keeps the map file request for production)

Step 1. Move last line in min file to second line as below

/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
//# sourceMappingURL=jqueryminmap

Notice that dots are removed in jquery.min.map.

Step 2. Add a bundle for map file with no transforms.

        var jquerymap = new ScriptBundle("~/bundles/jqueryminmap").Include(
                    "~/Scripts/jquery-2.1.4.min.map");
        jquerymap.Transforms.Clear();
        bundles.Add(jquerymap);

Even though this is the preferred method it requires you to change the source file (jquery-2.1.4.min.js). Hopefully, JQuery developer or IE will fix the issue in the next release.

Option TWO

Add jquery bundle without removing transforms (which causes MVC engine to remove last line in 2.1.4 min file which in turn will tell browser not to request map file).

        var jquery = new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js");
        bundles.Add(jquery);

Both of these options will fix the 404 on map file for IE > 8 and JQuery 2.1.4 but I prefer option ONE.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!