call javascript function from outside an iframe

后端 未结 3 1141
暗喜
暗喜 2021-01-02 10:45

I have one entire html openning inside an iframe that contains a javascript function getData().Now I am not sure how to call getData() from outside that frame.Also is it pos

3条回答
  •  长发绾君心
    2021-01-02 11:25

    You can get a reference to the frame window object from the window.frames property. See https://developer.mozilla.org/en/DOM/window.frames

    UPDATE:

    You can access the global context of a named iframe with window[framename]. e.g:

    
    
    
    

    Although you will need to make sure the iframe has loaded.

    In jQuery you can use the contents method if you want access to the iframe DOM:

    $("iframe").contents()
    

    All this is assuming the frame hosted within the same domain.

    UPDATE[2]:

    You asked if it is possible to call the getData function from an external js file. The answer is yes (if I understand you correctly). Here is an example:

    
    
        
        parent page
    
    
    
        
        
    
    
    
    

    Then in the getdata.js file you have:

    var dataFrame = window.data;
    
    // when the frame has loaded then call getData()
    dataFrame.onload = function () {
        var myData = dataFrame.getData();
        // do something with myData..
    }
    

    Hope this answers your question :)

提交回复
热议问题