te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - Changing src of iframe inside iframe - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Changing src of iframe inside iframe - Stack Overflow

programmeradmin3浏览0评论

I'm getting this problem in Chrome (Running the files locally) when I try to change the src of an Iframe inside iframe, I am getting this Error Message

Error = Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

This the code that I'm using to retrieve the iframe

iframe = $("iframe").contents().find('iframe');
iframe.attr("src", url);`

I don't get this issue when I upload the files to the server. But if I open them locally I get the error.

It works good in firefox and safari.

How can i do this in chrome and in other browser ?

I'm getting this problem in Chrome (Running the files locally) when I try to change the src of an Iframe inside iframe, I am getting this Error Message

Error = Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

This the code that I'm using to retrieve the iframe

iframe = $("iframe").contents().find('iframe');
iframe.attr("src", url);`

I don't get this issue when I upload the files to the server. But if I open them locally I get the error.

It works good in firefox and safari.

How can i do this in chrome and in other browser ?

Share Improve this question edited Mar 25, 2014 at 5:07 gilly3 91.5k26 gold badges147 silver badges179 bronze badges asked Mar 25, 2014 at 4:58 marianocodesmarianocodes 8331 gold badge12 silver badges19 bronze badges 4
  • Why are you doing this? Seems like there may be a nicer approach than multi-layered iframes. – DACrosby Commented Mar 25, 2014 at 5:10
  • You are running into issues relating to Same Origin Policy. To test locally, make sure not to hard-code domain names. – gilly3 Commented Mar 25, 2014 at 5:10
  • It's a security feature in Chrome. – Teemu Commented Mar 25, 2014 at 5:16
  • @user3232331 Not certain, 2 iframes ? Or 1 document with 1 iframe ? Thanks for sharing. – guest271314 Commented Mar 25, 2014 at 5:56
Add a ment  | 

1 Answer 1

Reset to default 12

Security features built into all browsers ensure that Javascript cannot interact with objects in other windows and/or frames if those Windows or frames were loaded from a different site. This is monly known as the "same origin policy". Whether something was loaded from a different site is determined by the hostname part of the URL. If for example the outer frame is loaded from http://yoursite. and the inner frame is loaded from http://example. then Javascript running in the scope of the outer frame will not be able to access or modify any properties or objects within the scope of the inner frame.

In this case the specific error is indicating that your Javascript, which is running in the context of the outer frame, is denied from accessing an object (contentDocument) whose scope is the inner frame. Hidden somewhere in the jQuery you are trying to use will be an implicit access to the frame's document element (as accessed by the contentDocument property of that iframe).

You may be able to work around this by destroying the iframe and re-creating a new iframe with the desired src.

发布评论

评论列表(0)

  1. 暂无评论