Javascript LinkedIn用他们的JSSDK有什么魔力?脚本正文和src都存在,加上奇怪格式的正文
我想在我的页面上集成LinkedIn共享 阅读LinkedIn在此提供的文档: 。。我很惊讶地看到,他们需要在我的页面的头部分使用这个脚本标签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
<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公里的手机上打字。否则,我将非常乐意提供一些示例代码片段,并亲自进行上述测试