0

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

<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>

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

谢谢。

4

2 回答 2

2

你不能使用 css 或 js 来做到这一点。

jQuery/JavaScript:访问 iframe 的内容

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

$.ajax({
 success: function(resp){
 resp.replace(/currency/g,'currency2');
}
})
于 2013-05-23T12:40:41.150 回答
0

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

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

如果您确实可以控制发出 AJAX 请求的页面,则可以在 AJAX 响应(或类似响应)上使用 jQuery 替换非常轻松地切换文本:

ajaxResponse.replace('currency', 'currency2')
于 2013-05-23T12:39:44.667 回答