Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导航到页面或url时使用当前web目录_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 导航到页面或url时使用当前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

我正在更新一个非常旧的web应用程序(webforms),它只能在IE 6-9中正常工作。它最初不是我写的。另外,我不是web开发专家,所以解决这个问题的方法可能非常简单

一个问题是大量使用
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对话框没有。