首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript或css更改iframe的内容

使用javascript或css更改iframe的内容
EN

Stack Overflow用户
提问于 2013-05-23 20:32:51
回答 2查看 5.5K关注 0票数 0

我有网站上的页面与iframe。iframe域和我的站点域不同。在$(document).ready上的iframe执行ajax请求。插入到div中的此ajax请求的响应。Ajax响应如下所示:

代码语言:javascript
复制
<ul>
    <li><a href="example.com/page-1">5 currency</a></li>
    <li><a href="example.com/page-2">10 currency</a></li>
    <li><a href="example.com/page-3">some other text</a></li>
    <li><a href="example.com/page-4">5 currency</a></li>
    <li><a href="example.com/page-3">some other text 2</a></li>
    ....
    <li><a href="example.com/page-n">54 currency</a></li>
</ul>

我需要用currency2替换word currency。我知道同源策略不允许使用javascript更改内容。有没有办法用css做到这一点呢?或者任何其他方式?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-23 20:40:41

您不能使用css或js来完成此任务。

jQuery/JavaScript: accessing contents of an iframe

唯一的方法是更改ajax响应。如果您只能更改iframe的$(document).ready调用,则可以通过以下代码更改ajax内容

代码语言:javascript
复制
$.ajax({
 success: function(resp){
 resp.replace(/currency/g,'currency2');
}
})
票数 2
EN

Stack Overflow用户

发布于 2013-05-23 20:39:45

如果您无法访问在iFrame中显示的标记本身,恐怕没有任何方法可以做到这一点。正如您已经确定的:安全策略不允许这样做(即使您找到了解决方法,它也不太可能跨浏览器工作)。

CSS在这里也不是一个真正的选择,因为它更基于dsplay,除非你能找到一种方法来使用:after伪类来注入'2‘。

如果您确实可以控制发出AJAX请求的页面,那么可以在AJAX响应(或类似内容)上使用jQuery replace非常容易地切换出文本:

代码语言:javascript
复制
ajaxResponse.replace('currency', 'currency2')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16714054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档