Javascript 使用jQuery设置页面标题
在名为Advanced Ajax Page Loader的WordPress插件的源代码中,我看到作者在Ajax成功后使用以下代码设置页面标题:Javascript 使用jQuery设置页面标题,javascript,jquery,ajax,wordpress,Javascript,Jquery,Ajax,Wordpress,在名为Advanced Ajax Page Loader的WordPress插件的源代码中,我看到作者在Ajax成功后使用以下代码设置页面标题: data = data.split('<title>')[1]; titles = data.split('</title>')[0]; jQuery(document).attr('title', (jQuery("<div/>").html(titles).text())); 这个插件也起作用了 所以我的问题是
data = data.split('<title>')[1];
titles = data.split('</title>')[0];
jQuery(document).attr('title', (jQuery("<div/>").html(titles).text()));
这个插件也起作用了
所以我的问题是:为什么他使用(jQuery(“”.html(titles).text())
而不是简单地应用变量titles
那么(jQuery(“”)到底是什么意思
谢谢。这是创建一个新的div
元素的语法。jQuery(“”
创建一个div元素,请参阅。这里它用于清理标题
变量
jQuery(“”.html(titles).text()
创建一个空div(jQuery(“”
),将内容设置为titles
(.html(titles)
)并读取此div的文本(.text()
).HTML标记被读取为文本,因此不能将HTML/JS注入文档标题,只能注入纯文本。这是此脚本的一项安全功能。以及他不使用的原因:titles=$(data).text()然后直接用标题代替。我不明白it@A.Wolff如果数据不包含HTML怎么办?好的,我明白了,如果用户尝试注入一些HTML/JS,这个答案是合理的,我从您编辑的答案中得到。非常感谢。@PaulAllen:不,很好。
通过jQuery扩展到
,这是标准HTML。
jQuery(document).attr('title', titles);