Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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/86.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 使用jQuery设置页面标题_Javascript_Jquery_Ajax_Wordpress - Fatal编程技术网

Javascript 使用jQuery设置页面标题

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())); 这个插件也起作用了 所以我的问题是

在名为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()));
这个插件也起作用了

所以我的问题是:为什么他使用
(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);