我正在使用Javascript SDK为iFrame中的Facebook页面生成供稿对话框:
以下是调用“feed”对话框的代码:
function clickShare(){
/* 400 char long string used for the description property */
var shareDescription = 'Lorem ipsum dolor sit amet consectetuer adipiscing elit sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat vel illum dolore eu feugiat nulla faci';
var publish = {
method: 'feed',
name: 'TITLE GOES HERE',
caption: 'CAPTION GOES HERE',
description: shareDescription,
link: 'link back to page',
picture: 'image.jpg'
};
FB.ui(publish);
}
它似乎在Windows中的所有浏览器中都能正常工作,冗长的描述会在视觉上被截断,但对话框有一个“显示更多”,可以扩展到完整的描述。
不幸的是,当我尝试在Mac计算机上的任何浏览器中使用它时,对话框开始显示,但从不显示任何内容。它只是永远挂在一个空的白色对话框上。
但是当我将字符串截断为230个字符的长度时,该对话框开始在Mac浏览器上运行。
例如,我在JS中截断字符串,然后将其发送到FB以进行对话框弹出:
shareDescription = shareDescription.substr(0, 230) + "...";
是否有人知道某些JSON字符长度限制发生在使用Facebook的Mac浏览器中或仅仅是一般情况?
感谢您的帮助!