Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
Javascript LinkedIn用他们的JSSDK有什么魔力?脚本正文和src都存在,加上奇怪格式的正文_Javascript_Html_Linkedin - Fatal编程技术网

Javascript LinkedIn用他们的JSSDK有什么魔力?脚本正文和src都存在,加上奇怪格式的正文

Javascript LinkedIn用他们的JSSDK有什么魔力?脚本正文和src都存在,加上奇怪格式的正文,javascript,html,linkedin,Javascript,Html,Linkedin,我想在我的页面上集成LinkedIn共享 阅读LinkedIn在此提供的文档: 。。我很惊讶地看到,他们需要在我的页面的头部分使用这个脚本标签 <script type="text/javascript" src="//platform.linkedin.com/in.js"> api_key: [API_KEY] onLoad: [ONLOAD] authorize: [AUTHORIZE] lang: [LANG_LOCALE

我想在我的页面上集成LinkedIn共享

阅读LinkedIn在此提供的文档:

。。我很惊讶地看到,他们需要在我的页面的头部分使用这个脚本标签

<script type="text/javascript" src="//platform.linkedin.com/in.js">
    api_key:   [API_KEY]
    onLoad:    [ONLOAD]
    authorize: [AUTHORIZE]
    lang:      [LANG_LOCALE]
</script>

api_密钥:[api_密钥]
onLoad:[onLoad]
授权:[授权]
郎朗:[郎朗语言环境]
我不明白这里发生了什么。首先,w3schools说“”:注意:如果存在“src”属性,则元素必须为空。“”()。 我也去了这里: (我不是100%确定这有多权威…但从格式和长度来看,这看起来很权威:P)-它还说,如果有
src
属性,那么主体基本上应该是空的-在任何情况下-LinkedIn的脚本语法不能用这两个资源来解释

那么有人知道脚本主体语法是怎么回事吗?那些是JS标签吗?如果是这样的话,我不知道它们是如何使用的。我认为标签与continue/break语句一起使用是为了摆脱循环。我不明白如果我用那种语法提供LinkedIn的API,它怎么能从我这里得到信息。 脚本主体是否以某种方式提供给脚本,并自行解析

有人能给我解释一下发生了什么事吗


谢谢

你说的是对的。添加
src
属性时,不会执行
脚本的主体。然而,有一种方法可以解决这个问题。这是通过检索脚本标记,提取
innerHTML
并对其使用
eval
。当然,您需要在文档准备就绪时执行此操作

我不知道LinkedIn到底是怎么做到的,但HTML标准对他们来说没有改变,加载顺序也没有改变,所以他们要么使用类似于我解释的东西,要么使用更聪明的方法解析脚本主体

需要考虑的其他注意事项:不使用DocumentReady事件,您可以将其绑定到库中。正如在“检索最后一个可用的脚本标记并提取主体”中一样,在加载库时,这将是以任何方式加载的最后一个元素,因此您应该能够在不使用任何事件的情况下检索代码。(这需要测试,但DOM元素是同步加载的,采用自顶向下的方法)

显然,不建议使用
eval
,它的速度非常慢,但肯定提供了您所需要的功能

请原谅任何格式错误。我在离家2公里的手机上打字。否则,我将非常乐意提供一些示例代码片段,并亲自进行上述测试