跨子域的iFrame Javascript
iFrame Javascript Across Subdomain
我知道这是一个重复的问题,但我的要求略有不同,
在之前的一个问题中,这是通过设置来解决的:
document.domain = "yourdomain.com";
在两页上。
然而。。。我有一个www.example.com域名和一个mail.example.com
mail.example.com是一个我无法访问的子域,它是由我的共享主机自动生成的,也是我访问电子邮件的地方。但是,我想要一个以mail.example.com为源的iframe。
例如
// www.example.com/mail.php
<html>
<head>...</head>
<body>
...
<? include("header.php"); ?>
...
<iframe src="mail.example.com"></iframe>
...
</body>
</html>
这正如预期的那样工作,但某些样式应用于iframe,所以我想使用javascript删除所有样式,然后添加我自己的样式。
但是因为我没有访问mail.example.com的权限,我无法在子域中设置document.domain = "example.com";
。
还有别的办法吗?
编辑
我没有把我已经试过的东西说得很清楚。
这是我在www.example.com域mail.php页面中的确切iframe代码:
<iframe id="mail" src="http://mail.a3mediauk.co.uk/mail2/source/index.php" height="800" width="960"></iframe>
这是位于mail.php页面head元素顶部的javascript代码:
document.domain = "http://mail.a3mediauk.co.uk";
这是我试图用来删除样式的jquery代码:
$(function(){
$("iframe#mail").load(function(){
$("iframe#mail body").removeAttr("bgcolor");
});
});
如果有任何帮助的话,document.domain会在chrome控制台中抛出以下错误:
Uncaught Error: SECURITY_ERR: DOM Exception 18
您可能忘记了http://
iFrame是客户端(HTML),因此您必须输入绝对路径,因为它是不同的域。您所写的内容将重定向到http://yourdomain.com/mail.yourdomain.com
。
就同源策略而言,URL必须完全匹配。一个是另一个的子域并不重要;字符串不同,所以您违反了策略。
我看不出一个好的解决方案。如果页面很简单(没有或只有简单的JavaScript,没有链接等),您可以尝试将带有JavaScript的邮件页面提取为字符串,去掉标题(即将body
转换为div
),然后将其添加到主页面。但当然,这会破坏所有链接,引用人,并导致许多其他问题,比如,如果安装了新版本的邮件界面会发生什么?
另一种解决方案是安装一个代理服务,使mail.domain.com
中的所有内容都可用作your.domain.com/mail
。如果您在域上运行Apache,那么使用"代理吞吐量"功能的简单重写规则就可以了。
- 我想在Iframe Javascript PHP的帮助下,将单个ajax上传器脚本转换为多个上传器
- 如何在我的页面中调用Iframe JavaScript函数
- 影响父 DOM 的 iFrame JavaScript
- 从不同的窗口(不是子窗口)重新加载iframe-javascript
- 将内容插入 iframe javascript
- 在 iframe /Javascript 中更改 src
- Cookie 设置为 iframe javascript 中的父窗口
- 将文件从输入传输到 iframe JavaScript
- 当用户与IFrame JavaScript交互时进行检测
- 嵌入式 iframe/javascript 小部件中的安全性
- Typo3 iFrame Javascript在Internet Explorer中不起作用
- 如何从iframe(Javascript)中撤销setTimeout变量
- 跨域获取iframe javascript内部的iframe属性
- 跨子域的iFrame Javascript
- GWT IFrame Javascript error
- 计数点击内iframe javascript
- 如何访问iframe javascript变量从父页面访问跨域在iframe
- 如何抓取网站内容(*COMPLEX* iframe, javascript提交)
- 打印pdf隐藏iframe javascript/jquery c# MVC
- 如何在GWT中创建iframe JAVASCRIPT到JAVA