Javascript 如何加载代码介于<;之间的外部JS库;脚本>;使用jQuery的标记

Javascript 如何加载代码介于<;之间的外部JS库;脚本>;使用jQuery的标记,javascript,jquery,Javascript,Jquery,我的原始代码是 <script type="text/javascript" src="http://platform.linkedin.com/in.js"> api_key: qwerty </script> 问题是,我不确定api_键部分做什么,我从未见过对外部库的请求和脚本标记之间的代码的组合。有没有一种方法可以用jQuery来模仿这一点?还有——那一行是做什么的?:) 谢谢 我对加载脚本时发生的情况进行了深入研究,发现in.js解析src本身为的标记的

我的原始代码是

<script type="text/javascript" src="http://platform.linkedin.com/in.js">
    api_key: qwerty
</script>
问题是,我不确定api_键部分做什么,我从未见过对外部库的请求和脚本标记之间的代码的组合。有没有一种方法可以用jQuery来模仿这一点?还有——那一行是做什么的?:)


谢谢

我对加载脚本时发生的情况进行了深入研究,发现in.js解析src本身为的标记的内容,并使用它们构建新的脚本标记以附加到头部

根据你的帖子,它附加了

<script src="https://www.linkedin.com/uas/js/userspace?v=0.0.2000-RC1.20888-1402&amp;apiKey=qwerty&amp;"></script>

直击头部。js显然拒绝了api键,但因为这是加载数据的专有方法,所以我无法预测当您尝试将其转换为ajax调用时它会如何工作

更新:
根据“如果src有一个URI值,用户代理必须忽略元素的内容,并通过URI检索脚本。”这使得LinkedIn可以在脚本标记中放置无效的Javascript,知道它永远不会被浏览器评估。

我对加载脚本时发生的情况进行了深入研究,发现in.js解析src为其自身的标记的内容,并使用它们构建新的脚本标记以附加到头部

根据你的帖子,它附加了

<script src="https://www.linkedin.com/uas/js/userspace?v=0.0.2000-RC1.20888-1402&amp;apiKey=qwerty&amp;"></script>

直击头部。js显然拒绝了api键,但因为这是加载数据的专有方法,所以我无法预测当您尝试将其转换为ajax调用时它会如何工作

更新:
根据“如果src有一个URI值,用户代理必须忽略元素的内容,并通过URI检索脚本。”这使得LinkedIn可以在脚本标记中放置无效的Javascript,知道它永远不会被浏览器评估。

这不完全是我最初发布的问题的答案,这更抽象。但是,如果有人在与linkedin的连接中偶然发现这个问题,下面是异步加载他们的框架的方法

jQuery.getScript("http://platform.linkedin.com/in.js?async=true", function success() {
    IN.init({
        api_key: "qwerty"
    });
});

这不完全是我最初发布的问题的答案,更抽象。但是,如果有人在与linkedin的连接中偶然发现这个问题,下面是异步加载他们的框架的方法

jQuery.getScript("http://platform.linkedin.com/in.js?async=true", function success() {
    IN.init({
        api_key: "qwerty"
    });
});

这应该在jQuery移动站点上正常工作

<script type="IN/Apply" data-companyname="XXX" data-jobtitle="XXX" data-joblocation="XXX" data-email="XXX@XXX.XXX">
</script>
<script type="text/javascript">
$(function() {
    if(typeof(IN)=="undefined"){
        $.getScript("//platform.linkedin.com/in.js?async=true", function success() {
            IN.init({api_key: "XXX"});
        });
    }
    else{
        IN.parse();
    }
});
</script>

$(函数(){
if(类型(IN)=“未定义”){
$.getScript(“//platform.linkedin.com/in.js?async=true”,函数success(){
IN.init({api_key:XXX});
});
}
否则{
IN.parse();
}
});

这应该可以在jQuery移动站点上正常工作

<script type="IN/Apply" data-companyname="XXX" data-jobtitle="XXX" data-joblocation="XXX" data-email="XXX@XXX.XXX">
</script>
<script type="text/javascript">
$(function() {
    if(typeof(IN)=="undefined"){
        $.getScript("//platform.linkedin.com/in.js?async=true", function success() {
            IN.init({api_key: "XXX"});
        });
    }
    else{
        IN.parse();
    }
});
</script>

$(函数(){
if(类型(IN)=“未定义”){
$.getScript(“//platform.linkedin.com/in.js?async=true”,函数success(){
IN.init({api_key:XXX});
});
}
否则{
IN.parse();
}
});

您到底想做什么?它将是LinkedIn共享按钮、跟随按钮还是其他任何按钮?它将是jquery移动网站上的“应用LinkedIn”按钮。jquerymobile使用AJAX加载页面正文,所以每当请求和加载作业页面时,我都会尝试使用pageload事件来告诉linkedin加载按钮。您到底想做什么?它将是LinkedIn共享按钮、跟随按钮还是其他任何按钮?它将是jquery移动网站上的“应用LinkedIn”按钮。jquerymobile使用AJAX加载页面主体,所以每当请求和加载作业页面时,我都会尝试使用pageload事件来告诉linkedin加载按钮。