Javascript 导航到页面或url时使用当前web目录
我正在更新一个非常旧的web应用程序(webforms),它只能在IE 6-9中正常工作。它最初不是我写的。另外,我不是web开发专家,所以解决这个问题的方法可能非常简单 一个问题是大量使用Javascript 导航到页面或url时使用当前web目录,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我正在更新一个非常旧的web应用程序(webforms),它只能在IE 6-9中正常工作。它最初不是我写的。另外,我不是web开发专家,所以解决这个问题的方法可能非常简单 一个问题是大量使用window.showModalDialog,这是一个特定于IE的调用,用于打开一个新的浏览器窗口,禁用打开它的浏览器窗口,如弹出消息。这已经被jquery模式对话框所取代,但是有时传递给它的“url”会出现问题 这是这个问题的简化复制品。有一个javascript函数,它接受url和id function
window.showModalDialog
,这是一个特定于IE的调用,用于打开一个新的浏览器窗口,禁用打开它的浏览器窗口,如弹出消息。这已经被jquery模式对话框所取代,但是有时传递给它的“url”会出现问题
这是这个问题的简化复制品。有一个javascript函数,它接受url和id
function openEdit(url, id) { ...
这个函数存在于原始版本中,只是它有代码打开一个模式弹出窗口。我用必要的jquery替换了它。但是,传入的url
值有时没有足够的信息。另外,假设我无法控制在这里传递的值
假设主页位于localhost/TestSite/main.aspx
。此页面中有许多框架显示其他页面,如localhost/TestSite/Products/ProductList.aspx
-单击此页面上的项目可能会打开一个窗口,指向localhost/TestSite/Products/ProductDetails.aspx
。有数百页遵循这种通用格式
有时url
的值为'/TestSite/Products/ProductDetails.aspx'。jquery对话框正确地导航到localhost/TestSite/Products/ProductDetails.aspx
但是,其他页面只传入页面名“ProductDetails.aspx”,jquery试图在localhost/TestSite/ProductDetails.aspx
中找到该页面。这在IE上使用window.showModalDialog
工作,浏览器能够获得预期的“产品”目录,因为它与打开窗口调用的目录相同。Jquery似乎没有实现这一飞跃
现在,我有了一个可能的解决方案,使用window.location
获取当前url,对其进行一点解析,并生成一个有效的url。不过,我担心这可能会造成什么附带情况,而且这似乎也是不恰当的做法
有没有办法让jquery使用相应的目录打开一个对话框,或者有没有办法生成一个不涉及
window.location
的当前目录?或者这是我的最佳选择。浏览器能够获得预期的“产品”目录,因为它与打开窗口调用的目录相同
你所说的打开窗口调用是什么意思?@Arcanecaraeda我的意思是,当调用IE函数showModalDialog时,它能够正确推断url,而jquey对话框则没有。浏览器能够获得预期的“产品”目录,因为它与打开窗口调用的目录相同
你所说的打开窗口调用是什么意思?@arcaneraeda我的意思是,当调用IE函数时,它能够正确推断url,而jquey对话框没有。