iframe中的网站不在同一个域中,但两者都是我的,我想iframe在父网站之间进行通信.可能吗?
我有一个网页,其中iframe中有texarea.我需要从其子页面javascript中读取此textarea的值.目前通过window.parent.getelementbyID().value在javascript中使用,我能够获取父页面中除iframe中的textarea之外的所有控件的值.
我的父页面中的帧ID和帧名称在运行时更改,因此我们不能使用帧ID /帧名称作为参考.
我有一个iframe已创建的嵌入式发布谷歌文档.的iframe自动应用一个大的填充到其body导致文本是一个非常窄和难看柱.我必须改变这一点.
我试图创建一个自定义指令:
app.directive('iframeWithStyle', [function(){
return {
restrict: 'A',
link: function(scope, element, attrs){
element.on('load', function(){
var iframe = element[0];
var grabbedElement = iframe.querySelector("body");
// -> grabbedElement is null here
});
}
}}]);
Run Code Online (Sandbox Code Playgroud)
适用于:
<iframe iframe-with-style
src="https://docs.google.com/document/d/somethingABC123/pub?embedded=true">
</iframe>
Run Code Online (Sandbox Code Playgroud)
但正如预期的那样,iframe.querySelector返回null和iframe.contentWindow.document结果
未捕获的DOMException:阻止具有原始" http:// localhost:8100 "的帧访问跨源帧.
我已经看过一个解决方法,但我觉得它有点过分(例如:与消息安全交叉通信).
我尝试用一些css应用于我可以达到的范围来对抗填充.例如:
iframe {
padding: 0px !important;
margin-left: -50px;
margin-right: 50px;
}
Run Code Online (Sandbox Code Playgroud)
CSS应用到body的iframe似乎被简单地忽略.
曾几何时,有一些便利属性,例如marginwidth.也试过了.我也想知道谷歌是否不提供一些"糖",但谷歌搜索并没有帮助.
注意:它确实不一定是iframe,但我需要在应用程序中以可读的方式显示格式化的gdoc; …
我有一个iframe
<iframe src="../Images/landingpage.jpg" id="Iframe1" name="ifrmContent" class="ifrmClass">
</iframe>
Run Code Online (Sandbox Code Playgroud)
我在inspector元素中发现img标签位于带有body标签的"#document"中
<html>
<body style="margin: 0px;">
<img style="-webkit-user-select: none;" src="../Images/landingpage.jpg">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我需要访问这个img("landingpage.jpg")以便更改(图像很小......需要调整大小),其宽度为100%,高度为:90%
我试过用 #Iframe1>#document>html>body>img{width:100%;}
尝试不工作这是一个兼容性问题Ie9 vs IE11:
<iframe name="testwindowframe" id="testwindowframe" Onload="readyStateChange()" width="100%" height="90%"></iframe>
Run Code Online (Sandbox Code Playgroud)
实际JSP:请查找使用的详细信息:WHERE IFRAME AND SCRIPTS这是IE11中的兼容性问题.我在其中放置了一个断点,readyStateChange()但它没有触发.
<script language="javascript">
function readyStateChange() {
console.log('REACHED!');
}
</script>
<iframe name="testwindowframe" id="testwindowframe" onreadystatechange="readyStateChange()" width="100%" height="90%"></iframe>
Run Code Online (Sandbox Code Playgroud) iframe ×4
javascript ×4
ajax ×1
angularjs ×1
css3 ×1
dom ×1
google-docs ×1
html ×1
html5 ×1
jquery ×1