云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

腾讯云_时间数据库_测评

小七 141 0

还记得我关于IE和Portal的博客吗?它涵盖了许多在IE浏览器中运行Portal时暴露渲染问题的场景?就在我们认为我们已经涵盖了所有的可能性,我们发现我们没有…

这个博客涵盖了另一个渲染问题,我们发现在IE11运行iView在独立模式下。

什么是独立模式?

独立模式是指不使用门户API直接导航到iView的PCD路径,即不使用任何门户框架页面,打开门户iView。这与通过导航到内容区域打开门户iView形成了对比,目标显示在内容区域中。

下面是一个直接调用iView的示例:

:50000/irj/servlet/prt/portal/prtroot/pcd!3portal\u content/Folder1/Folder2/MyWorksets/MyRole/UWL\u MOBILE/params?username\u field=auser&password\u field=apasswork&login\u submit=on&login\u do\u redirect=1

导航可由以下任一项触发:

:50000/irj/门户?NavigationTarget=ROLES://aportal\u content/Folder1/Folder2/MyWorksets/MyRole/UWL\u MOBILE&username\u field=auser&password\u field=apasswork&login\u submit=on&login\u do\u redirect=1&

导航到门户调用内容区域,并将"NavTarget"(目标iView)作为post数据中的参数传递。例如:

:50000/irj/servlet/prt/portal/prteventname/Navigate/prtroot/pcd!3AU内容!2每一个用户!将军!2fdefaultAjaxframeworkContent!2fcom.sap.portal网站.内容区?ExecuteLocallyc=true&CurrentWindowId=WID1431257684193&supportInitialNavNodesFilter=true&sapDocumentRenderingMode=emulateE8&windowId=WID1431257684193&NavMode=0&PrevNavTarget=navurl%3A%2F%2F52d7253cace28a2e8381980e871f0a18

在下面的HTTPWatch快照中,您可以在"发布数据"选项卡中看到对内容区域和NavTarget(门户需要导航到的iView)参数的调用:

(顺便说一句,我以前发表过一篇博客,讨论了一个有趣的问题,该问题是由于直接调用内容而不是通过导航api引起的)

iView何时可以在独立模式下运行?

有时应用程序(SAP应用程序或自定义应用程序)直接链接到门户iViews,而不是通过导航API调用它们。bilauncher就是这种应用程序的一个例子。它们会触发"打开新窗口"并将"open"方法发送到iView的直接链接中。

iViews直接运行的另一种情况是当您预览iView时(您可以在内容管理中编辑iView时预览它)。

直接运行iViews有什么问题?

只要iView在门户框架内运行(完整门户/单独窗口/单独门户窗口/单独门户窗口标准模式等),浏览器会以正确的文档模式(标准/怪癖)自动打开。这是因为门户框架会将响应头中名为"x-ua-compatible"的参数发送到浏览器。例如:

在下面的HTTPWatch快照中,我们看到门户第一次调用时发送的属性(顺便说一下,只有在IE浏览器中运行时才会发送,因为只有IE才能识别该属性):

直接运行iView意味着框架"服务"丢失,包括发送正确文档的参数模式。包含目标iView的新独立浏览器窗口将以特定IE版本的默认文档模式打开。

为什么IE11中会出现大多数呈现问题?

最近,很多客户把IE浏览器升级到了IE11,很多客户都出现了这样的问题:通过直接URL在新的浏览器窗口中打开的iView呈现不好

在查看浏览器的文档模式时,我们在SAP可以看到,大数据概念,它被设置为"边缘",个人免费云服务器,而不是"IE5怪癖"或只是"怪癖"

为什么这突然出现在IE11,而不是旧版本的IE?这是因为在IE11之前,新窗口默认以"怪癖"模式打开。但是,自从IE11之后,新窗口默认以"Edge"模式打开。因此,我们需要明确指示它在怪癖模式下打开。

当然,也可能有相反的情况:需要标准模式渲染(Edge)的iView,在比IE11旧的IE上运行,会在怪癖模式下自动打开。但这种情况似乎很少发生。

解决办法是什么?

解决此问题的方法非常简单:在iView头中添加"x-ua-compatible"属性。

在AI iView的根iView中添加了一个新属性。此属性称为"默认文档呈现模式"。此属性有两个可能的值:"Quirks"或"Standard"。该属性的默认值为"quirks"。

当该值设置为quirks–添加的标头为:

当该值设置为standard–标头为:

在下面的HTTPWatch快照中,您可以看到属性被添加到返回的HTML头中:

注意,当属性从框架返回时–它在响应头中设置,在iView中它在HTML头中设置。

两个方法都有效,但如果值设置为both–响应头覆盖HTML头,其值会影响浏览器。

解决方案演变

最初,解决方案仅在BI iViews中实现,因为这是我们处理的第一个场景。

针对BI iViews的解决方案的SAP说明是:

2012705–使用Internet Explorer 10及更高版本时,零售大数据解决方案,BI iViews的渲染不正确

当我们收到关于其他iViews类型的反馈时,因为BI iViews的解决方案证明是一个很好的解决方案,所以我们将解决方案扩展到所有类型艾维思。SAP注释是:

2098706–直接或从无头窗口执行IE10及以上版本时,iView呈现错误

还有SAP注释2163649,它修复了SAP注释2098706的回归

2163649–更多使用IE10及以上版本直接(独立)打开iView的场景会导致呈现问题(续注2098706)

故障排除和解决方法

您可以通过"内容管理"选项卡打开iView属性并检查"DefaultDocumentMode"属性是否存在来检查它。如果没有,云报,请执行以下步骤:

如果您想实施此解决方案-请执行本文档中提到的步骤

感谢您的新博客

它将非常有用

太好了!就在上周,我在客户网站上遇到了这个问题。我很困惑。现在一切都解释清楚了。IE11在新打开的窗口中对文档模式的不同处理是罪魁祸首!

非常感谢,大数据的发展前景,解决了我的问题!

不错。。。但时不时的噩梦…