
巧妙获取jQuery get方法加载页面的URL
使用jQuery的get()方法加载页面后,直接在被加载页面中获取URL会返回加载页面的URL,而非目标页面的URL。本文提供一种有效解决方法。
问题根源在于:被加载页面的JavaScript代码在加载页面的全局环境中运行,因此获取到的URL是加载页面的URL。
解决方法的核心在于:在被加载页面中,将URL存储到全局变量中,以便加载页面的JavaScript代码可以访问。
以下代码示例展示了该方法:
// 被加载页面中的代码 window.loadedPageUrl = document.location.href;
在加载页面中的jQuery get()方法的回调函数中,即可访问这个全局变量:
$.get("target.html", function(data){
var targetUrl = window.loadedPageUrl;
// 使用 targetUrl
});
此方法确保加载页面可以访问被加载页面的URL。 需要注意的是,这种方法依赖于被加载页面能够执行JavaScript代码,并且$.get()方法使用类似html()方法的方式在加载页面的全局环境中执行被加载页面的脚本。 如果使用其他方法加载页面(例如$.ajax()并指定dataType: 'html'),则可能需要调整方法。










