跨域问题 Blocked a frame with origin ...... from accessing a cross

阅读: 评论:0

跨域问题 Blocked a frame with origin ...... from accessing a cross

跨域问题 Blocked a frame with origin ...... from accessing a cross

为了轻松偷懒,不想从目的项目中开发目标项目中的页面,但目的项目中需要获取老项目中的页面,这里用了iframe跨域链接页面出现了问题

Blocked a frame with origin "......" from accessing a cross-origin frame.

出现此报错的原因是因为在 下操作    下的dom导致。

项目框架是yii2,代码如下,项目中是在看代码中 下操作的iframe连接指向是   dom元素。

 

// 项目下代码
<?php
Modal::begin(['id' => 'create-modal-article','header' => '<h4 class="modal-title">选择长文章</h4>','footer' => '<a href="javascript:;" class="btn btn-info" id="confirm_article" >确定</a><a href="javascript:;" class="btn btn-danger" id="close_article_window" >关闭</a>',
]);
$requestUrl = '.php?r=newNoticePost/selection';
$js = <<<JS
$('#create-modal-article .modal-body').html('<iframe name="article_ifm" id="add_long_article" width="99%" height="100%" style="border:0px"></iframe>');
$("#add_long_article").attr("src", '.php?r=newNoticePost/selection');$('#create-modal-article').find('.modal-header').find('.close').hide();
JS;

解决方法:

在父页面添加监听器,接收子页面的值:

window.addEventListener('message',function(e){

alert(e.data);

           },false);

 

在子页面在要传值的地方调用以下语句传值:

window.parent.postMessage('值',');

解决代码:

// 

$("#new-notice-post-grid :radio").on('click', function () { //监听radio选中,并把值传递window.parent.postMessage([$(this).attr('did'),$(this).val()],'');})

 

//  项目代码,获取传递的值
//长文章radio获取window.addEventListener('message',function(e){window.did = e.data[0];window.title = e.data[1];},false);

 

转载于:.html

本文发布于:2024-02-04 21:56:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170717319959966.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:origin   frame   Blocked   cross   accessing
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23