2017-04-25 50 views
0

我试图从另一个网页获取外部页面的JavaScript

我已经检索源元素创建在JavaScript中会创建一个视频的HTML元素的功能,并获得源的HTML元素看到其他问题的答案使用jQuery或一些Ajax的东西,但没有人真正解释自己,所以我能做的就是复制并粘贴他们说的任何东西到我的页面,并得到一个错误说“$”是未定义的(我更新javascript,如果你不能告诉。还没有使用任何Ajax或jQuery的)。

function loadSource(url){ 
    var vid = document.getElementById("vid"); 
    var src = <get source element with id "mp4Source" from the specified url> 
    vid.appendChild(src); 
} 
+0

阅读文档:http://api.jquery.com/jquery.ajax/使用起来非常简单。 – Gerardo

回答

1

为什么你要$为未定义的原因是因为你还没有加入jQuery库。

这是一个很好的问题,解释如何获取建立here

以上你的JavaScript,你需要包括jQuery库。

如何包括jQuery库

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 

至于加载外部视频元素示例,你需要做一个AJAX请求包含该元素的URL。 AJAX是一种执行异步HTTP请求的方式,例如在不刷新网页的情况下对URL进行的请求。的AJAX如何可以用于从外部URL拉HTML的AJAX

function loadSource(url){ 
    $.ajax({ 
     url: "<URL containing the HTML>", 
    }) 
    .done(function(html) { 
     $("#vid").append(html); // append the html to the element with the ID 'vid' 
    }); 
} 

更多信息可以在http://api.jquery.com/jquery.ajax/

你也应该看看JQuery的基础知识中找到

例,如看here。如何在您的代码中使用此示例是将document.getElementById("vid")替换为$("#vid")

+0

在done函数中,html参数是给定url的整个html值吗?如果是这样,我可以专门拉出一个元素,像我可以用当前文档给出一个id吗?或者我必须使用字符串函数来提取我需要的信息?或者是否可以过滤提供给ajax函数的对象中的结果? – JereTheJuggler

+0

是的,'html'是一个字符串,包含在<<包含HTML>'的URL中找到的所有HTML。您可以使用字符串函数来提取特定元素,例如http://stackoverflow.com/questions/14867835/get-substring-between-two-characters-using-javascript。一旦你更了解JQuery,你可以使用'$(“#vid”)。closest(“”)''。但这超出了这个问题的范围。 –

+0

所以,现在我已经添加了jquery src到我的脚本标记我得到的错误说,我的其他功能没有定义它们时。如果我尝试将它分解为2个脚本标记,其中1个用于所有其他函数,1个用于jquery,我无法再引用jquery函数。 – JereTheJuggler