Apex 在 IFrame 中添加的额外样式属性

Extra style attribute added by Apex in IFrame

我正在尝试在 iframe 中打开 Oracle Apex 应用程序。我有一个 index.jsp,其中包含以下代码

<body>
     <iframe id="apexiFrame" 
            width="100% !important" height="100% !important" 
            src="http://localhost:9999/ords/f?p=101">
     </iframe>
</body>

如果我将 localhost 更改为系统名称,登录页面加载正常,但是当我在登录后转到下一页以及所有其他后续页面时,我可以看到添加了一个额外的样式属性,因此 apex 应用程序仅占用一半的 iframe

我无法找到添加此样式属性的位置。请帮忙。

更新:

我添加了 jquery 以删除页面加载时的额外样式属性。

$('iframe').load( function() {

    $("iframe").removeAttr("style");

});

虽然它确实有效,但在 iframe 加载(带有样式标签)和删除它之间仍然存在 1 秒的延迟,因此 iframe 宽度从 500px 变为 100% 是显而易见的。如果有办法避免自动添加样式标签,那将是我想的理想解决方案。请问有什么线索吗?

您在 IFRAME HTML 标签中混淆了 CSS。 width=height= 应该是像素 width=500 或百分比 height=100%。这可能是导致问题的原因。

你可以试试

 <iframe id="apexiFrame" 
        style="height:100%;width:100%;" 
        src="http://localhost:9999/ords/f?p=101">
 </iframe>

不确定 !important 在样式标签上的位置。

现在,要看看您是否可以去掉 APEX 的样式,请在 APEX 设计器中打开您的应用程序,应用程序生成器选项卡,选择 "Shared Components",然后在用户界面块中,浏览主题和模板链接.

我添加了 jquery 以删除 iframe 加载时的额外样式属性并重新启动服务器。

$('iframe').load( function() {

$("iframe").removeAttr("style");

});