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