这可能听起来很模糊,我为此道歉。但我似乎找不到任何想要和我做同样事情的人。
虽然,我刚刚看到How to trigger open a jQuery UI dialog from a separate page?,但我不确定这是否会严格起作用。
我有一个配置文件页面,供会员使用XML Feed驱动的数据。在配置文件页面上是一个打开jQuery对话框的链接。这很好。
在网站的其他位置,是另一个页面,它根据过滤器生成成员列表,并带有指向该用户配置文件的链接。此另一页上的成员列表是jQuery对话框的重复链接。
如何将此重复链接转到配置文件页面并自动触发jQuery对话框以打开?
答案 0 :(得分:0)
我这样做的方法是使用URL的哈希部分
例如,您从其他页面查看个人资料的网址应该是这样的
profile#showdlg
并在个人资料页面
var hash = window.location.hash.substr(1);
if(hash == "showdlg"){
//Show dialog here
}
这应该可以解决问题
答案 1 :(得分:0)
您不能(不应该)直接触发“将来要加载”页面中的某些脚本操作。相反,触发器应该是页面本身的一部分。
因此,如果以动态方式生成该配置文件页面,则一种方法是实现添加此类触发器的条件功能(如使用jquery在dom树准备好时触发对话框,有数百万个示例) 。条件是是否通过这样的特殊参考调用了配置文件页面。您可以通过查看HTTP-REFERER来检测到这一点。因此,它归结为:如果以特定方式调用,则将2行代码触发器添加到最初触发对话框的配置文件页面。
在此处回答您的评论,更详细的描述:
涉及的编码不多。链接引用用户配置文件页面。配置文件页面是由我假设的php生成的。所以你需要添加的是一个细节:在php中检查当前处理的请求是否有一个特定的引用来自:
<?php .... if ('other_page.php'==$_SERVER[HTTP_REFERER]) { ... } ... ?>
如果是这样,您知道配置文件页面是从其他页面调用而不是正常情况,因此您希望UI对话框自动触发。为此,您可以在生成的页面中添加一个小的javascript,只要页面加载就可以实现这一功能:
<script>$(document).ready(function(){$('#mydialog').raise();})</script>
详细信息显然取决于对话框的类型及其引发方式。但你应该明白我的建议......