javascript - 如何将Instagram嵌入特定语言?

标签 javascript html instagram social-networking embedding

嵌入 Instagram 照片非常简单,只需在 URL 末尾添加一个带有 /embed/ 的 iframe,如下所示:

https://www.instagram.com/p/BA1wL_MqzTV/embed/

但是我如何强制 UI(关注/点赞按钮)使用特定语言,例如葡萄牙语?

最佳答案

Instagram 的嵌入功能会检测用户浏览器中的语言。这是一个很好的解决方案,因为用户经常使用他们喜欢的语言的浏览器。

但是要强制响应为特定语言,您应该使用 CURL 更改 accept-language 请求 header (恐怕仅使用 iframe 甚至使用 AJAX 是不可能的,因为跨域安全问题)。

如果您想自行验证,请尝试更改默认语言并重新加载包含嵌入内容的页面。在 Google Chrome 上,您应该转到设置,在搜索设置输入框中输入语言,然后单击“语言和输入设置...”按钮。添加语言并重新排序以确保首选语言位于顶部。

enter image description here

(在 Safari 上这是不可能的,除非您更改系统语言)。

现在,您可以使用网络选项卡上的开发人员工具(对于 Mac 用户为 Cmd+Option+i)来验证发送到服务器的 header 。请注意,pt 现在是我的 accept-language header 的第一种语言(在请求 header 组中)。 Instagram 的回复现在采用葡萄牙语(“Seguir”而不是“关注”)。

enter image description here

enter image description here

如果尽管用户浏览器是默认设置,但您仍想强制使用该语言,则应在服务器上实现 CURL,更改 accept-language header 并配置您的 iframe src到它。下面是 PHP 工作示例。

文件:myURL.php

$url = $_GET["url"];

$request_headers = array();
$request_headers[] = 'accept-language: pt,en-US;q=0.8'; // Portuguese response first

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);

HTML:

<iframe src='myUrl.php?url=https://https://www.instagram.com/p/BA1wL_MqzTV/embed/'></iframe>

我认为阅读 Instagram API 是个好主意。还有另一种方法可以做到这一点(oembed 和短代码)。也许你应该考虑一下。

https://www.instagram.com/developer/embedding/

最后一个细节:您可能需要一种方法使 iframe 高度等于内容高度。你应该看看这个 Stack Overflow 问题:

Make iframe automatically adjust height according to the contents without using scrollbar?

祝你好运!

关于javascript - 如何将Instagram嵌入特定语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35326248/

相关文章:

javascript - 将他们引导至该页面的 Google 关键字

php - 使用 php 创建一个 html mailto

html - 如何使用 Javascript/CSS 在 IE 中更新表格行背景颜色?

javascript - 在 Instagram 中获取客户 ID 的评论权限

android-emulator - 在 AVD 上运行 Instagram

javascript - Ghost Blog 为页面的菜单项提供当前类

javascript - Onclick - 如何在它调用的不同页面上使用函数?

javascript - 如何使用 jQuery 将事件处理程序附加到动态生成的 DOM 元素?

javascript - 如何让javascript函数调用两个div

来自可绘制图像的Android可滚动 ListView