我有一个简单的页面,有一些iframe部分(显示RSS链接).如何将主页面中的相同CSS格式应用于iframe中显示的页面?
我想使用jQuery操纵iframe中的HTML.
我以为我可以通过将jQuery函数的上下文设置为iframe的文档来实现这一点,例如:
$(function(){ //document ready
$('some selector', frames['nameOfMyIframe'].document).doStuff()
});
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不起作用.一些检查显示我的变量frames['nameOfMyIframe']
是undefined
除非我等待一段时间加载iframe.但是,当iframe加载时,变量不可访问(我得到permission denied
-type错误).
有没有人知道这方面的解决方法?
如何从__CODE__
我的网络应用程序中嵌入边框中删除边框?一个例子__CODE__
是:
<iframe src="myURL" width="300" height="300">Browser not compatible.</iframe>
Run Code Online (Sandbox Code Playgroud)
__CODE__
假设背景颜色一致,我希望从页面上的内容过渡到无缝的内容.目标浏览器只是IE6,不幸的是其他人的解决方案无济于事.
基本上,我有一个iframe
嵌入在页面中,并iframe
有一些我需要从父页面调用的JavaScript例程.
现在相反的情况非常简单,因为你只需要打电话parent.functionName()
,但不幸的是,我需要完全相反.
请注意,我的问题是不会改变的源URL的iframe
,但是调用在定义的函数iframe
.
我正在写一个基于iframe的Facebook应用程序.现在我想使用相同的html页面来呈现普通网站以及facebook中的画布页面.我想知道我是否可以确定页面是在iframe中加载还是直接在浏览器中加载?
我正在开发类似iGoogle的应用程序.来自其他应用程序(在其他域上)的内容使用iframe显示.
如何调整iframe的大小以适应iframe内容的高度?
我试图破译谷歌使用的javascript,但是它被混淆了,到目前为止搜索网络已经没有结果.
更新:请注意,内容是从其他域加载的,因此适用同源策略.
我正在<iframe>
我的HTML页面中加载一个并尝试使用Javascript访问其中的元素,但是当我尝试执行我的代码时,我收到以下错误:
SecurityError: Blocked a frame with origin "http://www.<domain>.com" from accessing a cross-origin frame.
Run Code Online (Sandbox Code Playgroud)
你能帮我找一个解决方案,以便我可以访问框架中的元素吗?
我正在使用此代码进行测试,但徒劳无功:
$(document).ready(function() {
var iframeWindow = document.getElementById("my-iframe-id").contentWindow;
iframeWindow.addEventListener("load", function() {
var doc = iframe.contentDocument || iframe.contentWindow.document;
var target = doc.getElementById("my-target-id");
target.innerHTML = "Found it!";
});
});
Run Code Online (Sandbox Code Playgroud) 例如:
<iframe name="Stack" src="http://stackoverflow.com/" width="740"
frameborder="0" scrolling="no" id="iframe"> ...
</iframe>
Run Code Online (Sandbox Code Playgroud)
我希望它能够根据其中的内容调整其高度,而不使用滚动.
假设您不希望其他网站在以下位置"构建"您的网站<iframe>
:
<iframe src="http://example.org"></iframe>
Run Code Online (Sandbox Code Playgroud)
因此,您将反框架,帧破坏JavaScript插入到您的所有页面中:
/* break us out of any containing iframes */
if (top != self) { top.location.replace(self.location.href); }
Run Code Online (Sandbox Code Playgroud)
优秀!现在你自动"破解"或突破任何包含iframe.除了一个小问题.
事实证明,您的帧破坏代码可能被破坏,如下所示:
<script type="text/javascript">
var prevent_bust = 0
window.onbeforeunload = function() { prevent_bust++ }
setInterval(function() {
if (prevent_bust > 0) {
prevent_bust -= 2
window.top.location = 'http://example.org/page-which-responds-with-204'
}
}, 1)
</script>
Run Code Online (Sandbox Code Playgroud)
此代码执行以下操作:
window.onbeforeunload
事件处理程序离开当前页面时,都会递增计数器setInterval()
如果它看到计数器递增,则将当前位置更改为攻击者控制的服务器我的问题是 - 这更像是一个JavaScript拼图,而不是一个实际的问题 - 你怎么能打败破坏框架的破坏者呢?
我有一些想法,但在我的测试中没有任何效果:
onbeforeunload
事件onbeforeunload = null …
我正在写一个小网页,其目的是构建其他一些页面,只需将它们合并到一个浏览器窗口中以便于查看.我试图框架的一些页面禁止被框架并抛出"拒绝显示文档,因为X-Frame-Options禁止显示".Chrome中的错误.我知道这是一个安全限制(有充分理由),并且无权更改它.
是否有任何替代框架或非框架方法在单个窗口中显示不会被X-Frame-Options标头绊倒的页面?