如何加载仅包含文本内容的 iFrame
How can I load an iFrame with only textual content?
我在下面找到了创建 iframe 的代码片段:
我只想在http://www.host.com
加载文本内容,并使用display:none
使 iframe 不可见
背景:
我需要一种有效的方法来解析图标位置。 并非所有站点都有默认位置。 例如<link rel="SHORTCUT ICON" href="../images/logo_small.ico" />
.
因此,我所需要的只是文本内容。 PHP有一个函数可以做到这一点(file_get_contents
(,但我想在客户端这样做。
这是关于 iframe 的 mdn 文档
对于服务器端 PHP,请使用 file_get_contents。
function makeFrame() {
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", "http://www.host.com");
ifrm.style.width = 640+"px";
ifrm.style.height = 480+"px";
document.body.appendChild(ifrm);
}
美味书签示例:
javascript:(function()
{
f='http://www.delicious.com/save?url='+encodeURIComponent(window.location.href)+
'&title='+encodeURIComponent(document.title)+'¬es='+
encodeURIComponent(''+
(window.getSelection?window.getSelection():document.getSelection?
document.getSelection():document.selection.createRange().text))+'&v=6&';
a=function()
{
if(!window.open(f+'noui=1&jump=doclose','deliciousuiv6','location=1,links=0,scrollbars=0,to
olbar=0,width=710,height=660'))
{
location.href=f+'jump=yes'
}
};
if(/Firefox/.test(navigator.userAgent))
{
setTimeout(a,0);
}
else
{
a();
}
})()
只有当您的页面和框架页面位于同一域中时,您才能访问 iframe 中的链接元素。要引用您找到的文档,请执行以下操作:
尝试访问框架内容的脚本受同源策略的约束,并且无法访问另一个窗口对象中的大多数属性(如果该对象是从其他域加载的(。
因此,需要使用 PHP 解决方案。加载给定的域,使用 tagsoup 解析器并在 dom 中查询 link[rel="SHORTCUT ICON"]
。
您可以使用该解决方案创建 JSON API,该 API 可以从应用程序的客户端 js 代码通过 Ajax 使用。
如果页面位于不同的服务器上,由于浏览器中的跨站点脚本限制,您将很难获取信息客户端。
如果它都是本地的,你想看:
XMLHttpRequest();
和
getResponseText();
我认为您可能最好使用 PHP 方法。
编辑:
我认为这是一个类似的问题:
XMLHttp请求从远程主机获取 HTTP 响应
那里的答复可能会提供进一步的帮助。
- 使用jQuery访问元素'来自谷歌文档托管的iframe的文本
- jQuery在iFrame Src中查找和替换文本
- 更改多个 iframe 中的文本框属性
- 将 Javascript 从文本区域注入 Iframe
- 获取文本javascript+iframe
- 突出显示iframe内的文本,同时使用jquery单击文档上的相同文本
- 更改iframe中的文本
- 在不使用JQuery的情况下更改IFrame中的文本
- 将焦点设置为嵌套iframe中的文本框
- iPad上iframe中的文本区域行为
- 如何使用rangy从iframe中抓取选定的文本
- 如何在启用designMode的iframe中包装文本,必要时使用css和javascript
- 从父窗口获取 iframe 中文本框的值
- 根据文本框中的值范围重定向到 iframe 中的 URL
- 使用 javascript 或 flash 或其他任何东西从跨域 iframe 复制文本
- 无法使用 watir 网络驱动程序在 iframe 中填写只读文本框
- Flex 获取 iframe 文本值
- 文本区域和 iframe 值为空
- 在通过 flask Web 服务器呈现的 html 页面中显示 iframe 中文本文件的内容
- iFrame 文本对齐方式