我想动态地将API密钥传递给LinkedIn库调用,
我从数据库字段获取该API密钥并将其保存在全局javascript变量'myJavascriptVariable'中,但是当我在加载时将其传递给API时。它不接受它并抛出异常。
怎么办?
<script type="text/javascript" src="//platform.linkedin.com/in.js?async=false">
api_key: myJavascriptVariable
credentials_cookie: true
authorize: true
</script>
编辑:错误“您必须在此密钥的配置中指定有效的JavaScript API域。”
答案 0 :(得分:1)
该脚本元素的内容是不是 JavaScript。它是LinkedIn的JavaScript使用的配置文件。它不能包含变量。
如果您编辑配置数据(例如使用innerHTML
),您可能可以使用JavaScript变量,但是在LinkedIn的JS尝试读取它之前,您的时间必须要赶上它(这几乎肯定会在之前load
事件已被解雇)。
最好生成服务器端。
答案 1 :(得分:0)
获取变量后,我会动态创建脚本标记。
var LIScript = document.createElement('script');
LIScript.type = 'text/javascript';
LIScript.src = '//platform.linkedin.com/in.js?async=false';
LIScript.text = "api_key: "+myJavascriptVariable+"
credentials_cookie: true
authorize: true";
document.getElementsByTagName('head')[0].appendChild(LIScript);
虽然我不确定这会解决您的问题 - 您可以使用defer
和async
属性来控制在加载过程中何时执行脚本。