jQuery在Div中加载外部内容,链接问题

jQuery在Div中加载外部内容,链接问题

问题描述:

我已经从外部网站将内容加载到带有jQuery的Div中,但是当我点击加载内容中的链接时,它将打开它自己的页面。有没有办法限制链接打开页面,同时仍然包含在Div中?jQuery在Div中加载外部内容,链接问题

+0

你能提供一个链接到有问题的页面吗?听起来这可能是一些事情,但很难说没有看到它。 –

删除的唯一方法是将所有链接的“href”属性设置为“#”,如我所想。请在下面找到相同的代码。

$("#div").find("a").attr("href", "#") 

希望这是有用的!

+0

我认为OP正试图说他希望链接在div内打开,而不是完全禁用链接。 – Artyom

您将不得不使用iframe而不是div来获得简单的解决方案。

或者,由于您所说的内容来自外部网站,因此我相信您知道如何获取跨不同domain的内容。你可以试试这个。

$("divContainer a").click(function(e){ 

    //Prevent the default behavior of the link so it will not redirect to href. 
    e.preventDefault(); 

    var url = this.href; 

    //Now using this url get the external content and load it into the DIV 

}); 

您有至少3周的烦恼有:

  1. 可能的版权法侵犯,如果你没有使用材料的许可。

  2. 违反安全规定。所有的AJAX请求通常必须来自同一台服务器。除非用户和ISP严格降低其安全设置,否则其他任何内容都会被安全功能疑为恶意代码。

  3. Windows和框架被制成包含网页。 Div标签不是。您将不得不将文件剥离到只有一些内体内容才能显示在div中。弹出窗口是一个窗口,而不是一个div。

从ShankarSangoli

使用IFrame的建议,这是最好的解决方案。

你可以只删除目标属性中加载的内容链接::

$("#div").find("a").attr("target", ""); 

这应该避免在新窗口中打开链接。

虽然问题是如何从其他网站使用jQuery获取内容? 这应该不可能?

您显然应该提供一些源代码,以便为我们提供有关正在发生的事情的线索。

在我的经验(自学jquery noob).load的东西有很多问题,有些时候你用“返回false”来解决它。在所有命令的末尾为了“防止默认”的交互。

其他时候,你只需清理代码,如html标签......它可能是一切,提供代码。