7
A
回答
4
嵌入脚本使用脚本后的散列进行配置。例如,看看所提供的实施例(实):
1. window.setTimeout(function() {
2. var a = /(connect.facebook.net|facebook.com\/assets.php).*?#(.*)/;
3. FB.Array.forEach(document.getElementsByTagName('script'), function (d) {
4. if (d.src) {
5. var b = a.exec(d.src); //RegExp.exec on the SRC attribute
6. if (b) {
7. var c = FB.QS.decode(b[2]); //Gets the information at the hash
8. ...
在脚本中,每个<script>
标签线3在属性检查出现线的散列的5线2 。然后,如果散列存在行6,则hashdata被提取行7,并且该函数继续。
2
这大概是引用.js
文件读取原始URL并提取参数内使用(使用例如window.location
,例如解析出#
之后的内容)。
3
我在加载脚本方面没有做任何事情。我猜测的是,脚本本身会查找自己的脚本标记,然后在散列(bar = 1)之后挑选出该部分,并用它来配置其行为。为此,他们可能必须遍历所有脚本标签并匹配src
属性。
0
URL中散列之后的部分被认为是fragment identifier。如果存在,它指定整个资源或文档中的部分或位置。与HTTP一起使用时,它通常指定页面内的部分或位置,并且浏览器可以滚动以显示页面的该部分。
对于JavaScript文件,程序的作者很可能将它用作将参数传递给文件的方法。但是,不应该使用这种方法。网址可能包含query strings,它们的用途相同。
尽管如此,将参数嵌入到JavaScript文件的URL并不是一个好主意,因为对于每一个不同的参数集,URL都会被再次缓存,这是浪费内存。相反,最好将查询字符串设置为包含脚本本身的HTML页面的URL。这是因为JavaScript具有内置属性来访问网页的查询字符串:location.search
。你可以阅读更多关于它here。
相关问题
- 1. “散货”是什么意思?
- 2. '散列缺点'是什么意思?
- 3. Bash'type someCmd':什么意思是'散列'?
- 4. JS $是什么意思?
- 5. []是什么意思在JS?
- 6. JS variable.new是什么意思?
- 7. 是什么意思:是什么意思?
- 8. 这个JS代码是什么意思?
- 9. JS中的语法是什么意思?
- 10. 这个JS Expression是什么意思?
- 11. JS代码$$是什么意思?
- 12. 条件是什么意思?
- 13. 在JS文件中if(!window.Sys)是什么意思?
- 14. js文件引用结尾的花括号是什么意思?
- 15. 文件中的“^ @”是什么意思?
- 16. @是什么意思?在make文件中?
- 17. C++缓存文件是什么意思?
- 18. 这是什么意思@ -moz-文件
- 19. 宏中的双重散列(##)是什么意思?
- 20. 什么意思是“x位散列函数”
- 21. 散列time_t的字节是什么意思?
- 22. “散列函数的分布”是什么意思?
- 23. 散列函数增量是什么意思?
- 24. 散列中的聚集(在碰撞中)是什么意思?
- 25. Ruby on Rails这个散列输出是什么意思?
- 26. %{}是什么意思?
- 27. '#'是什么意思?
- 28. “?”是什么意思?
- 29. #{...}是什么意思?
- 30. || =是什么意思?
你从哪里看到这个?通常,查询字符串(例如'foo.js?123)被用作“高速缓冲存储器断路器”。哈希可能不应该影响缓存。 –
@Ates Goral上下文:Facebook的按钮嵌入脚本//connect.facebook.net/en_US/all.js#xfbml=1 – jsj
对我来说,它看起来像Facebook发送一些参数。也许在all.js他们得到这个参数并使用它。 – Krasimir