加载高度设置为100%的Java小程序
我有一个显示java小程序的网页。该小程序的大小,如果窗口调整使用JavaScript的工作正常。 小程序的宽度和高度设置为100%。当小程序加载时,显示图像加载高度设置为100%的Java小程序
image = "preloader.gif"
使用IE 6/7一切正常。但在Firefox中,小程序的高度约为200像素。宽度在100%时是正确的。因此,预加载器图像被减半。小程序加载后,javascript调整页面大小后,宽度和高度设置正确。
如果我更改了HTML代码并使用了小程序的固定大小,则该对象在加载过程中将正确显示,但之后无法调整大小。
有没有解决这个问题的方法?
感谢, 丹尼尔
PS我使用的对象/嵌入标签,但问题是相同的,如果我使用小程序标记。
很难说不看页面。一种可能性是JavaScript运行之前的applet加载。在这种情况下,您可以尝试使用javascript加载小程序(而不是直接在html中进行编码)。
我建议你实现一个基于CSS的解决方案,并创建包含div
的100%
大小的小程序。我使用这种方法,它非常简单,可靠并且跨浏览器可靠。有什么理由不能做到这一点?
我在Firefox和Opera中获得了相同类型的短小应用程序。
现在我动态创建小程序,这允许我根据视口大小计算包含div的大小。这让我相信,如果你使用了一个包含div的大小而不是100%,你会得到你想要的。
我用它来创建小程序
function initJavaView() {
...
var viewportHeight = window.innerHeight ? window.innerHeight :
$(window).height();
var height = viewportHeight - appletArea.offsetTop - 8;
html = '<div style="width:100%;height:' + height + 'px;">'
if (!$.browser.msie /*&& !$.browser.mozilla*/){
html = html + '<object type="application/x-java-applet;version=1.5" ';
} else {
html = html +
'<object ' +
'classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" '+
'codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=1,5,0,0" ';
}
html = html + ' width="100%" height="100%">' +
...
appletArea.innerHTML = html;
};
中运行的代码我有同样问题的代码,我无法找到答案,但我得到了解决。 您必须将小程序代码嵌入到Javascript函数中,并在加载页面后立即用它填充body的innerHtml(或任何您想要使用applet的地方)。所以......
//optional: add styles
function styleApplet(){
document.getElementsByTagName('body')[0].style.overflow = 'hidden';
}
//complementary funcion so applet code is readable
function documentWrite(chars){
buffer +=chars;
}
//funcion to add all code at once. It is compulsory
function executeWrite(){
document.getElementsByTagName('body')[0].innerHTML = buffer;
buffer = '';
}
function writeApplet(){
documentWrite('<applet code="..... </applet>');
documentWrite('..... ');
documentWrite('</applet>');
executeWrite();
}
$(document).ready(function(){
setTimeout('writeApplet()',100);
setTimeout('styleApplet()',100); //optional
}
任何增加的答案是有帮助:-)
这正是我要做的事。小程序(100%)包含在div也设置为100%的宽度和高度。正如我所说的,它适用于IE,但不适用于Firefox。 – puls200
为了澄清,调整大小也适用于Firefox - 但不是在加载阶段。一旦加载了所有.jar归档,applet就会将其句柄传递给该页面,小程序区域将正确调整大小。这只是初始化小程序的小细节。 – puls200
有趣的是,如果在调整大小之前发生问题,那么不能推断出它是一个CSS问题。你能否尝试禁用JavaScript调整大小的代码并尝试修复它,以便在此阶段正确显示小程序? – Pool