相关疑难解决方法(0)

在iframe父窗口中触发click事件

<div id="main">
    <a id="mainp" >Parent Window</a>

    <iframe id="iframeindex" src="iframeindex.html" >

    </iframe>
</div>

<script>
     $(function() {
        $('#mainp').live('click', function(e) {
            alert("hi");
            e.preventDefault();
        });
Run Code Online (Sandbox Code Playgroud)

iframeindex来源:

<a id="child1" class="test" href="a.html">aa</a>    

<script>
    $(function() {          
        $('.test').click(function(e){           
            $('#mainp', window.parent.document).css('color', 'red').trigger('click');

            e.preventDefault();
        })
    });
Run Code Online (Sandbox Code Playgroud)

CSS正在应用于父窗口链接,但是click事件没有获得触发器.如何将触发事件发送到父窗口.

javascript jquery

8
推荐指数
1
解决办法
2万
查看次数

来自iframe的事件触发

我正在将第三方照片上传服务与我的应用集成.所以我通过iframe将它加载到我的页面中.

当上传服务完成上传我的照片后,它可以触发某个事件到我的父页面,即:

parent.$('body').trigger('photoUpload.complete');
Run Code Online (Sandbox Code Playgroud)

或者它在父页面中触发一个函数,即:

window.parent.reloadParentPage();
Run Code Online (Sandbox Code Playgroud)

无论如何,我在Chrome控制台中收到此警告:

Uncaught SecurityError: Blocked a frame with origin "https://photoupload.com" from accessing a frame with origin "https://website.com".
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个安全问题,如下所述:

http://www.w3.org/TR/2008/WD-access-control-20080912/

所以我想让原点https://photoupload.com访问我的网站.我在我的控制器中这样做了:

after_filter :set_access_control_headers
Run Code Online (Sandbox Code Playgroud)

然后方法:

def set_access_control_headers 
  headers['Access-Control-Allow-Origin'] = "https://photoupload.com" 
  headers['Access-Control-Request-Method'] = '*' 
end
Run Code Online (Sandbox Code Playgroud)

请注意,这不是https://photoupload.com照片上传服务,https://website.com而是我的网站.(例如清酒的虚构名称),但它们都托管在heroku上.

我该如何工作?

看到人们用这个成功的类似问题:

从iframe触发jQuery事件

更新

也许更好的问题是,我应该在哪个应用程序中设置标题?我在我的应用程序中假设?

更新II

有一个更好的方法吗?将iframe中的action/event/something发送到父页面,因此父页面可以以某种方式作出反应

javascript iframe jquery ruby-on-rails

4
推荐指数
1
解决办法
1093
查看次数

标签 统计

javascript ×2

jquery ×2

iframe ×1

ruby-on-rails ×1