繁体   English   中英

将iframe放在Liferay portlet中

[英]Placing an iframe inside of a Liferay portlet

这不是一个技术问题。 我所做的是创建一个Ext JS应用程序,我想在Liferay portlet中使用它。 在尝试将整个Ext JS项目导入Liferay后进行实验和失败之后,我决定将整个应用程序放在iframe中,并将iframe轻松放入我的portlet中(因为portlet可以呈现html)。

这可能是最简单的方法,它使我的项目不那么笨重(不导入整个Ext JS框架,大约204MB 以及我的应用程序)。

而且,它允许可扩展性。 每当我修改我的Ext JS应用程序时,更改将立即显示在我的portlet中,因为iframe独立于主html文档。

问题:这样做有什么问题我忽略了吗? 可能出现的任何问题?

对我而言,这似乎是一个简单的方法,但当我考虑它时,它是一个更聪明的方法。

干杯队友!

您提供了有关您所做决定的一些信息,但没有提供有关其原因的信息。 我正在推断一些可能的理由来强调这种方法可能存在的注意事项:

假设您必须与Liferay集成,因为这是现有的门户网站,而您选择的是Ext JS,因为这是您最熟悉的内容。

这样可以充分利用您的时间,从而优化应用程序的开发时间。 如果你是办公室里的那个Ext JS大师,这对维护者来说可能是一种负担。 如果Ext JS只是“个人”选择的一个例子,那么您的门户可能最终成为一大堆“遗留”实现(我称之为这种解决方案)。 因此,您从未来的维护工作中吸取了快速的开发时间。

假设您选择使用Ext JS(portlet外部),因为您团队中的任何人都无法提供有关如何进行正确门户/ portlet开发的提示。 这应该为团队带来一个红旗,无法支持选择的环境。 但是可以通过选择不同的平台或通过适当的培训来减轻它

假设你选择了Ext JS,因为没有人关心它,它是一个真正的“一次性”应用程序,一次性写入(或者限时运行)没有人期望任何维护工作,你只是想要它遥遥。 在这种情况下:别担心。

你错过了什么? 您基本上无法从门户环境中获得任何信息:基础架构,主题,身份管理,权限,群集,故障转移,缓存,监控等。您可以自行判断是否可以接受。 一些示例:管理员现在是否需要监控您独立运行的应用程序,因为它可以独立于门户网站? 谁知道怎么做以防万一? 如何处理登录您的应用程序?

它听起来并不像您使用Liferay或Portlet,因为它们是典型的。 问这个问题,为什么你甚至开始使用Liferay和portlet? 如果你只是在编写一个JS应用程序,那么这个东西在中间添加一个你不知道如何使用的额外层的重点是什么? 我不是说这是一种侮辱,它似乎不适合工作,或者你需要花更多的时间来学习Liferay,portlet以及它们的工作方式。

更多的是你的具体问题:一般来说,我倾向于将iframe用法视为试图找到更好的解决方案的黑客。 iframe有一些用例。 看到这个问题为什么人们仍然使用iframe? 有关iframe用例的更多信息。

编辑:更多地考虑一下为什么我觉得这个解决方案不尽如人意。 通过Liferay提供的iframe提供您的应用程序,您可以更改解决方案的体系结构。 我之前在portlet中使用了iframe,因此它可以提供解决方案。 但我们之所以这样做,是因为没有其他方法可以将我们所需的功能纳入我们的解决方案中。 这是因为它是我们必须连接的服务的限制。 通过让Liferay为应用程序提供服务,您可以维护现有解决方案的一般体系结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM