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

时间:2011-09-01 20:16:00

标签: jquery loading external

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

5 个答案:

答案 0 :(得分:0)

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

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

希望这很有用!!

答案 1 :(得分:0)

您必须使用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

});

答案 2 :(得分:0)

那里至少有3个问题:

  1. 如果您无权使用这些材料,则可能违反版权法。

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

  3. Windows和框架包含网页。 Div标签不是。您必须将文件剥离为仅一些内部正文内容才能将其显示在div中。弹出窗口是一个窗口,而不是div。

  4. 使用ShankarSangoli的IFrame建议

    这是最好的解决方案。

答案 3 :(得分:0)

您可以删除已加载内容链接::

中的目标属性
$("#div").find("a").attr("target", "");

这样可以防止链接在新窗口中打开。

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

答案 4 :(得分:0)

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

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

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