Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
为什么';t脸谱网“;例如;按钮在通过JavaScript插入时是否遵守其参数?_Javascript_Jquery_Facebook_Iframe_Facebook Graph Api - Fatal编程技术网

为什么';t脸谱网“;例如;按钮在通过JavaScript插入时是否遵守其参数?

为什么';t脸谱网“;例如;按钮在通过JavaScript插入时是否遵守其参数?,javascript,jquery,facebook,iframe,facebook-graph-api,Javascript,Jquery,Facebook,Iframe,Facebook Graph Api,我刚刚发现,当iframe是用JavaScript创建的,而不是直接包含在文档的HTML中时,不尊重其查询参数 请看一下我创建的JSFIDLE: 我在上面链接的URL上生成了一个Like按钮,并首先完全按照提供的方式包含HTML。然后,我将其分解为创建相同元素并将其附加到DOM所需的JavaScript代码 在“结果”窗口中,您将看到顶部按钮的HTML版本,以及下面创建的JavaScript版本。虽然src属性的值对于这两个属性(以及所有其他HTML属性)都是相同的,但较低的按钮似乎不支持我传

我刚刚发现,当iframe是用JavaScript创建的,而不是直接包含在文档的HTML中时,不尊重其查询参数

请看一下我创建的JSFIDLE:

我在上面链接的URL上生成了一个Like按钮,并首先完全按照提供的方式包含HTML。然后,我将其分解为创建相同元素并将其附加到DOM所需的JavaScript代码

在“结果”窗口中,您将看到顶部按钮的HTML版本,以及下面创建的JavaScript版本。虽然
src
属性的值对于这两个属性(以及所有其他HTML属性)都是相同的,但较低的按钮似乎不支持我传递的任何参数,例如
colorscheme
font

有人知道为什么会发生这种情况,或者对我如何避免这种行为有什么建议吗


这里的用例是,我正在创建HTML广告,其中包括iframe版本的“Like”按钮;一个要求是ad最初只能加载50KB的数据,然后在启动
window.onload
后最多加载1MB。由于“Like”按钮本身的重量超过50KB,我需要在
窗口之后使用JavaScript构建iframe。onload
而不仅仅是在广告的HTML中包含
元素。

使用HTML添加url时,HTML实体会自动解码。这在javascript中不起作用。因此,您需要在将url传递给javasript之前对其进行解码,例如:

like.src = 'http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F&send=false&layout=standard&width=450&show_faces=false&action=like&colorscheme=dark&font=arial&height=35';
希望这有帮助

更新的JSF空闲:

使用HTML添加url时,HTML实体将自动解码。这在javascript中不起作用。因此,您需要在将url传递给javasript之前对其进行解码,例如:

like.src = 'http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F&send=false&layout=standard&width=450&show_faces=false&action=like&colorscheme=dark&font=arial&height=35';
希望这有帮助

更新的JSF空闲: