对象标记上的窗口调整事件javascript

对象标记上的窗口调整事件javascript,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了Jquery选项卡,并在父页面上嵌入了一个JSP页面。我在两个页面上都调用了窗口调整事件。但不会调用内部页面函数 对于内部页面,我有一个SVG元素,每次调整窗口大小时都需要调整它的大小 sLinkPageToJunction = '<%=base1%>' + "/InnerTabbedPage.jsp?IntersectionName=" + strIntersectionName + "&FrameName=" + strFrameName + "&ip

我已经创建了Jquery选项卡,并在父页面上嵌入了一个JSP页面。我在两个页面上都调用了窗口调整事件。但不会调用内部页面函数

对于内部页面,我有一个SVG元素,每次调整窗口大小时都需要调整它的大小

sLinkPageToJunction = '<%=base1%>' + "/InnerTabbedPage.jsp?IntersectionName=" + strIntersectionName + "&FrameName=" + strFrameName + "&ip=" + '<%=ServerIP %>' + "&port=" + '<%=ServerPORT %>' + "&InterCorridorName=" + svgfilename;
if (document.getElementById("JnLive" + strIntersectionName) == null) {
    //var nextTab = $('#tabs li').size()+1; 
    Tabcount = $('#tabs li').size();
    // create the tab
    $('<li><a href="#tab' + strIntersectionName + '" data-toggle="tab">' + strIntersectionName + '&nbsp;&nbsp; <button class="close closeTab" align="right" "type="button">x</button></a></li>').appendTo('#tabs');

    // create the tab content

    $('<div class="tab-pane" id="tab' + strIntersectionName + '"> <div id="JnLive' + strIntersectionName + '" class="col-sm-6" style="margin-top: 1%"> </div>').appendTo('.tab-content');


    var heightvalue = $(window).height();
    var widthvalue = $(window).width()

    //alert("---->"+heightvalue+"---->"+widthvalue);

    var url = "<object id=obj'" + strIntersectionName + "' data='" + sLinkPageToJunction + "' height='" + heightvalue + "' width='" + widthvalue + "'></object>";

    $("#JnLive" + strIntersectionName).html(url);

    // make the new tab active
    $('#tabs a:last').tab('show');
    OpenedTabbedJunctionNames[Tabcount - 1] = strIntersectionName;
    OpenedTabbedJunctionFrameNames[Tabcount - 1] = strFrameName;

    registerCloseEvent();
}
在外页是

window.addEventListener('resize', changeframesize) ;
但是,当我使用选中的选项卡调整窗口大小时,不会调用changeframesizeJN

我该怎么做


附言:我不知道我是否已经输入了回答问题所需的信息。事实上,我不知道该如何问这个问题

尝试将调整大小添加到对象标记上,如:

var url = "<object id=obj'" + strIntersectionName + "' onresize='changeframesizeJN()' data='" + sLinkPageToJunction + "' height='" + heightvalue + "' width='" + widthvalue + "'></object>";

你给你的面板一个固定的宽度和高度,我可以从你的代码中看出。您应该更改内部页面的CSS,使其与父页面一起调整大小

或者,您可以在调整其外部父级以及其自身的大小时调用内部页面函数。因为它位于同一个域中,所以执行此操作不会有任何问题:

window.addEventListener('resize', function() {
    changeframesize();
    window.frames['yourIframeName'].changeframesizeJN();
});
只需确保为内部窗口指定一个名称,以便您可以选择它。或者使用它的索引,但我建议使用名称以保持可读性:

window.frames[0].changeframesizeJN();

如果可以,请添加要复制的文档(或代码片段)。如果
元素中的文档位于同一个域中,您可以使用
对象从父窗口访问其documentElement。contentDocument
,这将允许您直接进行要进行的修改。@Blag,我无法复制JSFIDLE。如果可以的话,我肯定会那样做的。这是PS的原因之一。谢谢,伙计,这正是我想要的。我使用的是框架索引,但由于其他限制。虽然我没有给面板任何宽度。它的引导面板。因此,小组作出了回应。唯一的问题是SVG标签在内部页面中。所以document.get并没有给我这个,这样我就可以调整SVG的大小了。谢谢,但是object onresize不起作用。窗框帮了我的忙。
window.addEventListener('resize', function() {
    changeframesize();
    window.frames['yourIframeName'].changeframesizeJN();
});
window.frames[0].changeframesizeJN();