如果我定义一个名为的JavaScript全局变量name,是否会隐藏window.name属性?
我在Facebook JavaScript身份验证API的上下文中提出这个问题,因为我注意到具有该名称的全局会破坏它,并且因为我看到它window.name在他们的代码中使用.
我正在使用JavaScript API.我可以做一个简单的文字帖子没有问题:
var params = {};
params['message'] = 'The text';
FB.api("me/feed", 'post', params, function(response) {
if (!response || response.error)
alert(response.error.message);
else
alert('Post ID: ' + response.id);
});
Run Code Online (Sandbox Code Playgroud)
添加图片:
params['picture'] = "http://mysite.com/link-to-picture";
params['type'] = "photo";
...
Run Code Online (Sandbox Code Playgroud)
使用图片作为缩略图发布带有乱码链接的链接类型状态.
如果我使用"我的/照片",它第一次工作正常:
var params = {};
params['message'] = 'The text';
params['url'] = "http://mysite.com/link-to-picture";
FB.api("me/photos", 'post', params, function(response) {
if (!response || response.error)
alert(response.error.message);
else
alert('Post ID: ' + response.id);
});
Run Code Online (Sandbox Code Playgroud)
但是如果我再做一个帖子,我会丢失我的Feed中的第一个帖子项目,并在Feed中使用第二篇文章中的文本和两张(不相关的)图片获取相册类型演示文稿
我能够通过自己的文本和图片获得不同状态帖的唯一方法是首先创建一个序列编号的相册,然后将图片发布到该相册.
var aparams = {};
aparams['name'] = "post"+postid;
aparams['message'] = "album for post "+postid; …Run Code Online (Sandbox Code Playgroud) <html>
<head>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
type="text/javascript"/></script>
<script>
$(function() {
alert($('#s1').html());
});
</script>
</head>
<body>
<p/>
<span id="s1"><h3>Eggs</h3>One dozen please</span>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这个页面用<p>标签显示一个空白警告,但是对于<br>,它显示'<h3>鸡蛋</ h3>十几个请',正如我所料.
这似乎是Firefox 12.0和Chrome 19.0的情况.IE8做对了.有什么想法可能会发生什么?