Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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 使用jQuery动态添加时未加载脚本_Javascript_Jquery_Jotform - Fatal编程技术网

Javascript 使用jQuery动态添加时未加载脚本

Javascript 使用jQuery动态添加时未加载脚本,javascript,jquery,jotform,Javascript,Jquery,Jotform,我正在尝试使用jQuery向我的项目动态添加脚本。脚本已成功添加到head标记,但内容未呈现在body标记中 这是我的代码: <script type="text/javascript"> window.onload = function() { var s = document.createElement("script"); s.type = "text/javascript"; s.src = "https://for

我正在尝试使用jQuery向我的项目动态添加脚本。脚本已成功添加到
head
标记,但内容未呈现在
body
标记中

这是我的代码:

  <script type="text/javascript">
    window.onload = function() {
        var s = document.createElement("script");
        s.type = "text/javascript";
        s.src = "https://form.jotform.com/jsform/81003857231348";
        $("head").append(s);
    }
  </script>

window.onload=函数(){
var s=document.createElement(“脚本”);
s、 type=“text/javascript”;
s、 src=”https://form.jotform.com/jsform/81003857231348";
$(“标题”)。追加;
}
但是,如果直接添加脚本,脚本将成功加载:

我遗漏了什么吗?

尝试使用

window.onload = function() {
   //your script declaration here
}
尝试使用

window.onload = function() {
   //your script declaration here
}

您可以使用jQuerys加载和执行脚本,而不是
jqueryready()。它不需要在DOM中就可以访问元素

$.getScript ("test.js", function (){

    alert ("Running test.js");

});

可以使用jQuerys加载和执行脚本。它不需要在DOM中就可以访问元素

$.getScript ("test.js", function (){

    alert ("Running test.js");

});
我找到了解决办法

首先,您不能从外部加载的脚本向文档写入任何内容

无法对“文档”执行“写入”: 除非显式打开异步加载的外部脚本,否则无法从该脚本写入文档

有两种方法可以解决这个问题

1)。

您正在创建Iframe作为html内容,并将其写入文档

document.write(htmlCode)
线上创建动态加载内容的问题

尝试下面的方法,而不是代码

var htmlCode = document.createElement("iframe");
 htmlCode.setAttribute("title", title.replace(/[\\"']/g,'\\$&').replace(/&amp;/g,'&'));
 htmlCode.setAttribute("src","");
 htmlCode.setAttribute("allowtransparency","true");
 htmlCode.setAttribute("allow","geolocation; microphone; camera");
 htmlCode.setAttribute("allowfullscreen","true");
 htmlCode.setAttribute("name",this.formId);
 htmlCode.setAttribute("id",this.iframeDomId);

 document.body.appendChild(htmlCode);
并在html中添加以下Js代码

<script type="text/javascript">
   var s = document.createElement("script");
   s.type = "text/javascript";
    s.src = "https://form.jotform.com/jsform/81003857231348";
   document.getElementsByTagName("head")[0].appendChild(s);
</script>
试一试

如果您仍然面临任何问题,请告诉我。

我找到了解决方案

首先,您不能从外部加载的脚本向文档写入任何内容

无法对“文档”执行“写入”: 除非显式打开异步加载的外部脚本,否则无法从该脚本写入文档

有两种方法可以解决这个问题

1)。

您正在创建Iframe作为html内容,并将其写入文档

document.write(htmlCode)
线上创建动态加载内容的问题

尝试下面的方法,而不是代码

var htmlCode = document.createElement("iframe");
 htmlCode.setAttribute("title", title.replace(/[\\"']/g,'\\$&').replace(/&amp;/g,'&'));
 htmlCode.setAttribute("src","");
 htmlCode.setAttribute("allowtransparency","true");
 htmlCode.setAttribute("allow","geolocation; microphone; camera");
 htmlCode.setAttribute("allowfullscreen","true");
 htmlCode.setAttribute("name",this.formId);
 htmlCode.setAttribute("id",this.iframeDomId);

 document.body.appendChild(htmlCode);
并在html中添加以下Js代码

<script type="text/javascript">
   var s = document.createElement("script");
   s.type = "text/javascript";
    s.src = "https://form.jotform.com/jsform/81003857231348";
   document.getElementsByTagName("head")[0].appendChild(s);
</script>
试一试


如果您仍然面临任何问题,请告诉我。

使用与jquery声明相关的脚本在哪里?删除
type=“text/javascript”
@GerardoBLANCO我删除了该脚本,但仍然没有加载。我首先添加jquery,然后尝试附加这个脚本。如果您的js文件不是有效的js文件,它将不会加载。我猜它会给出404。使用与jquery声明相关的脚本在哪里?删除
type=“text/javascript”
@GerardoBLANCO我删除了它,但仍然没有加载。我首先添加jquery,然后尝试附加这个脚本。如果您的js文件不是有效的js文件,它将不会加载。我猜它会给出404,并使用
document.head.appendChild
尝试排除所有jQuery内容,并检入inspector检查脚本标记是否在DOM中,并使用
document.head.appendChild
尝试排除所有jQuery内容,并检入inspector检查您的脚本标记是否在DOM中。我得到了
未捕获的引用错误:标题未定义
@Valip,而不是html内容您必须替换此代码才能生成iframe,然后它会起作用。您可以提供一个JSFIDLE示例,说明这应该如何工作吗?我不确定我是否理解…@Valip,看看这个文件,看看第7行到第20行的代码!但是您是如何生成此链接的?我得到了
未捕获的引用错误:标题未定义
@Valip,而不是html内容您必须替换此代码才能生成iframe,然后它就会工作。您可以提供一个JSFIDLE,并举例说明如何工作吗?我不确定我是否理解…@Valip,看看这个文件,看看第7行到第20行的代码!但是你是如何生成这个链接的呢?