我想将完整页面加载到DOM和 将它们放在自己的“容器”中以便显示和隐藏。
到目前为止,我尝试过:
1)将页面加载到div中,但有些东西如背景图像和css正在获取
走出“容器”,即使它隐藏在这样:
$("#page" + index).hide().load(url);
2)如果我将它加载到:
$("#page" + index).html('<object data="' + url + '">');
它将页面保留在容器内,但是当我使用jQuery show / hide时,它每次都会重新加载。
我没有尝试过iframe,但是使用framebreakers,我猜有些页面会接管屏幕。
你知道怎么做吗?
答案 0 :(得分:0)
您加载的网址是否包含一组额外的html,head或body标记? Html文档应该只包含一组。
答案 1 :(得分:0)
您可能不希望将整个文档(包含所有标题/正文信息等)加载到另一个文档的元素中;这将很难与之合作。
你可以使用带有过滤器的jQuery.load来加载某个类的元素,即在你真正想要引入的内容周围放一个大的div,然后用它来过滤到jquery加载。
加载页面片段
与$ .get()不同,.load()方法允许我们指定一部分 要插入的远程文档。这是通过特殊的方式实现的 url参数的语法。如果有一个或多个空格字符 包含在字符串中,第一个字符串后面的字符串部分 假设space是一个确定内容的jQuery选择器 要加载。
我们可以修改上面的示例以仅使用部分文档 获取的内容:
$(“#result”)。load(“ajax / test.html #container”);当这种方法 执行,它检索ajax / test.html的内容,然后检索jQuery 解析返回的文档以查找ID为的元素 容器。这个元素及其内容被插入到 具有结果ID的元素,以及检索到的文档的其余部分 被丢弃了。
jQuery使用浏览器的.innerHTML属性来解析检索到的 记录并将其插入当前文档。在此过程中, 浏览器经常过滤文档中的元素,如 或元素。结果,检索到的元素 .load()可能与检索文档时不完全相同 直接通过浏览器。
从这里开始: