Javascript 如何加载cdn并访问它';Vue中的对象是什么?
我必须加载一个外部javascript文件才能访问某个对象 通常代码非常简单:Javascript 如何加载cdn并访问它';Vue中的对象是什么?,javascript,vue.js,cdn,nuxt.js,Javascript,Vue.js,Cdn,Nuxt.js,我必须加载一个外部javascript文件才能访问某个对象 通常代码非常简单: <script src='https://example.com/example.js'></script> <script> var instance = new ExampleObj.start({ container: 'element-id' }); </script> <div id='element-id'></div>
<script src='https://example.com/example.js'></script>
<script>
var instance = new ExampleObj.start({ container: 'element-id' });
</script>
<div id='element-id'></div>
上面的示例给出了错误:
ExampleObj未定义
,但是如果我尝试访问ExampleObj
,它会在开发人员控制台上显示,并且start
方法起作用。您应该等待脚本加载:
const script = document.createElement('script')
const start = document.createElement('script')
start.text = `console.log('jquery object', $('#app').text())`
script.onload = () => {
document.body.appendChild(start)
}
script.setAttribute('src', 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js')
document.body.appendChild(script)
您应该在onload事件之后设置src属性
从这个问题:
下面是我制作的一个工作JSFIDLE:遵循以下步骤:
听起来像是计时:脚本标记被附加,但加载它们需要一些时间。您可以尝试在它们上使用
onload
,以表示准备就绪。如果确实使用nuxt,则使用文档中注明的外部资源,但请考虑获取库并将其放在本地。
const script = document.createElement('script')
const start = document.createElement('script')
start.text = `console.log('jquery object', $('#app').text())`
script.onload = () => {
document.body.appendChild(start)
}
script.setAttribute('src', 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js')
document.body.appendChild(script)