Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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/2/jquery/79.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 使用长块(包括脚本)动态更改div的源/内容_Javascript_Jquery_Html_Dygraphs - Fatal编程技术网

Javascript 使用长块(包括脚本)动态更改div的源/内容

Javascript 使用长块(包括脚本)动态更改div的源/内容,javascript,jquery,html,dygraphs,Javascript,Jquery,Html,Dygraphs,我已经看到了很多关于类似问题的问题和答案,但我没有找到这个特定案例的答案 我在网页中有一个,我在其中动态地将数据显示为图形,它需要将javascript输入(使用库)。我想实现一个复选框,在图形代码和显示实时网络摄像头连接的代码之间更改的内容,这也需要脚本 根据我找到的示例,我尝试了innerHTML和jQuery函数,但它们都是指没有脚本内容的非常简单的HTML更改,我发现更复杂的是如何将图片更改为内容。我已经读到不支持src属性,其他论坛说是的,在我的情况下它不起作用。库div src.js

我已经看到了很多关于类似问题的问题和答案,但我没有找到这个特定案例的答案

我在网页中有一个
,我在其中动态地将数据显示为图形,它需要将javascript输入
(使用库)。我想实现一个复选框,在图形代码和显示实时网络摄像头连接的代码之间更改
的内容,这也需要脚本

根据我找到的示例,我尝试了
innerHTML
和jQuery函数,但它们都是指没有脚本内容的非常简单的HTML更改,我发现更复杂的是如何将图片更改为
内容。我已经读到
不支持src属性,其他论坛说是的,在我的情况下它不起作用。库
div src.js
也不适用于这种情况

另一个尝试是使用
标记,它已经工作,但是页面不能正常工作并且不稳定,特别是websocket连接。Eclipse显示了一个警告,上面写着“未知标记”,我已经读到
在HTML5中已经过时了

我希望使用jQuery执行此操作,但直到知道为止,都没有成功

使用脚本动态插入
长HTML代码块并调用js库的最佳方法是什么?

<input type="radio" name="radiobutton" value="graph" onClick="changeDivContent()">
<input type="radio" name="radiobutton" value="video" onClick="changeDivContent()">

<div id="graph-video">
 --- Block with HTML, nesting divs and javascript ---
</div>
结果是:图形代码导致故障和websocket关闭

试试这个

function changeDivContent() {
    $('#graph-video').html('<iframe width="420" height="345"src="http://www.youtube.com/embed/XGSy3_Czz8k"></iframe>)');
}

依我看,你有各种各样的问题。首先是动态加载js文件。为此,您必须将它们添加为DOM对象,而不是内部HTML。为此,您可以使用此功能:

$( "#graph-video" ).load( "video.jsp" );
$( "#graph-video" ).load( "graphic.jsp" );
function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}
摘自

至于div中的图片,它在很大程度上取决于您所指的图片类型

  • 的背景属性:

    $('div_selector').css('background-image','url(img_-url)')

  • 元素,如dygraph生成的元素:为您的特定需求找到一个好的教程,您可以从查找开始,因为canvas元素提供了大量用于绘制和重画的选项


  • 最后它成功了。感谢下面的评论。我已经使用了“.load()”函数。方法是从每个jsp文件(视频和图形)中提取所有javascript代码/函数。然后我将javascript功能放在一个js文件中,该文件通过主页收费。它就这样运行。
    function loadjscssfile(filename, filetype){
     if (filetype=="js"){ //if filename is a external JavaScript file
      var fileref=document.createElement('script')
      fileref.setAttribute("type","text/javascript")
      fileref.setAttribute("src", filename)
     }
     else if (filetype=="css"){ //if filename is an external CSS file
      var fileref=document.createElement("link")
      fileref.setAttribute("rel", "stylesheet")
      fileref.setAttribute("type", "text/css")
      fileref.setAttribute("href", filename)
     }
     if (typeof fileref!="undefined")
      document.getElementsByTagName("head")[0].appendChild(fileref)
    }