Internet Explorer returns 错误

Internet Explorer returns false

我正在使用带有卡片模板的经典报告,请参阅 apex site for example。我可以在除 Internet Explorer 之外的所有浏览器上使用它。我公司使用的是 Internet Explorer 11。

当用户点击一张卡片时,他们应该会看到一个模式对话框弹出,但在 Internet Explorer 上他们会看到 false 这个词。我正在使用 JavaScript 来触发模式,但我也尝试将链接硬编码到卡片的 sql 中。既不工作。我能够找到解决方法,但我必须删除模态弹出窗口并将链接编码到 sql 语句中。我们有其他模式 windows 在 Internet Explorer 上的应用程序中工作,我在我的个人 apex.oracle.com 工作区上测试了它,结果相同。

我的问题是有没有其他人遇到过这个问题,有没有办法让它与模式对话框页面一起工作?我一直无法在网上找到任何东西来回答我的问题

Demo of issue

SQL:

select 
order_id,
initials || title "CARD_TITLE",
initials "CARD_INITIALS",
item_text "CARD_TEXT",
item_subtext "CARD_SUBTEXT",
item_icon "CARD_ICON",
redirect "CARD_LINK"
from   (select 1 order_id,
    ' Examples' title,
    0 initials,
    'CARD TEXT GOES HERE' item_text,
    null item_subtext,
    '<span aria-hidden="true" class="fa fa-check-circle-o fa-5x"></span>' item_icon,
    'javascript:apex.event.trigger(document,"SUBMITTED")' redirect 
    from DUAL)

其余代码是默认的顶点代码:使用静态 id SUMBITTED 的自定义事件;提交页面;和一个分支

在 IE11 和 APEX 自定义事件中遇到同样的问题。

解决方案是不使用 HREF 属性将事件处理程序绑定到元素。

而不是这个:

<a href="javascript:apex.event.trigger(document,'SUBMITTED', '123')">Link</a>

像这样使用 onclick 属性:

<a href="javascript:void(0)" onclick="apex.event.trigger(document,'SUBMITTED', '123')">Link</a>

123是自定义数据,比如一些记录id。

在页面初始化时用jQuery绑定点击事件就更好了:

<a href="#" class="my_link_class" id="my_link_id_321">Link</a>

$('.my_link_class').click(function(e){
    e.preventDefault();
    apex.event.trigger(document,'SUBMITTED',this.id.replace('my_link_id_',''));
});

但请记住,如果您动态刷新 APEX 报告区域(不重新加载整个页面),则 jQuery 页面初始化程序不会被执行,'my_link_class' 元素也不会被绑定(在刷新区域内)。

关于它的一些链接:

jQuery - IE gives [object Object] error when displaying dialogs

Internet Explorer Incompatibility - page just shows "[object Object]" WTH?