Javascript 用于加载HTML标题的jQuery UI对话框
我使用jQueryUI对话框来显示从外部页面读取的弹出窗口。如何让它从外部HTML加载标题,而不是每次都在代码中更改标题?因为我也想要不同的头衔 有什么建议吗Javascript 用于加载HTML标题的jQuery UI对话框,javascript,html,css,jquery-ui,Javascript,Html,Css,Jquery Ui,我使用jQueryUI对话框来显示从外部页面读取的弹出窗口。如何让它从外部HTML加载标题,而不是每次都在代码中更改标题?因为我也想要不同的头衔 有什么建议吗 function openDialog(url) { $("<div class='popupDialog'>Loading...</div>") .dialog({ autoOpen: true, closeOnEscape: true,
function openDialog(url) {
$("<div class='popupDialog'>Loading...</div>")
.dialog({
autoOpen: true,
closeOnEscape: true,
width: '900',
height: '900',
modal: true,
title: 'Bonus Features',
beforeClose: function(){ $(this).remove(); }
}).bind('dialogclose', function() {
jdialog.dialog('destroy');
}).load(url, function() {
$(this).dialog("option", "position", ['center', 'center'] );
});
adjustJQueryDialogOverlay();
}
$(window).resize(function() {
$(".ui-dialog-content").dialog("option", "position", ['center', 'center']);
});
函数openDialog(url){
$(“正在加载…”)
.对话({
自动打开:对,
closeOnEscape:没错,
宽度:“900”,
高度:'900',
莫代尔:是的,
标题:“奖励功能”,
beforeClose:function(){$(this.remove();}
}).bind('dialogclose',function(){
对话框('destroy');
}).load(url,函数(){
$(此).dialog(“选项”、“位置”、“中心”、“中心”);
});
调整jquerydialogoverlay();
}
$(窗口)。调整大小(函数(){
$(“.ui对话框内容”).dialog(“选项”、“位置”、“中心”、“中心”);
});
您似乎有两个问题。首先,简单一点。如何更改标题 jQuery对话框标题来自title参数。在代码中,您有:
title: 'Bonus Features'
但是,如果要更改函数签名以接受title参数,则可以将标题传递给函数,而不必一直担心更改代码
function openDialog(url, title) {
$("<div class='popupDialog'>Loading...</div>").dialog({
...
title: title,
...
);
}
函数openDialog(url、标题){
$(“正在加载…”)。对话框({
...
标题:标题,,
...
);
}
现在来看一个复杂的问题:如何从目标页面获取标题。除了通过AJAX请求页面并将结果解析为XML/文本之外,我不确定是否有一种简单的方法可以实现这一点。如果您真的感兴趣,这里有一个链接
但我真的不想鼓励这样做。我的意思是,要求客户端脚本完成所有这些工作似乎有点过火。而且你不能保证它可以在不同的浏览器之间工作。相反,通过硬编码标题,将启动对话框所用的任何内容与页面标题关联起来会容易得多。在“开放”事件中:
$(this).parent().find('.ui-dialog-title').html('Printed Card Designer');
你必须稍微使用它,才能让它使用你正在加载的页面的标题,而不是你正在加载的页面。你是在加载实际页面还是只加载一些文本或xml?我只需要它读取它加载的任何页面。实际页面。不幸的是,我不知道如何使用它。你可以将页面加载到对话框中。。然后检查$('title')的长度。长度并查看是否为两个(一个用于“主机”页面,另一个用于“对话框”页面)。如果到了这一步,请尝试确定哪个标题是哪个:获取“主机”的标题在将附加页面加载到dailog中并将其与jQuery数组中返回的标题文本进行比较之前,请先创建一个页面。这听起来更复杂,这也是我需要避免的。我希望HTML的标题是对话框本身的标题。我想这是不可能的。我真的很感谢您在这方面花费的时间和精力我们的答案。非常感谢。没问题。你是对的,这很复杂,但并非不可能。最终的效果是,在浏览器加载页面以分析标题时,你会有一个延迟,然后再显示对话框。