2009-11-27 80 views
1

我正在寻找一种方法来改进基于PHP的CMS中的工作流程。编辑器模式和页面的预览模式之间有很多切换。编辑器模式的加载非常庞大,所以我想在不同的窗口中打开预览模式。在Firefox中创建新标签页/切换标签页?

我不想在当前窗口中使用新窗口或iframe来保持工作流程简单并避免混淆。

有没有办法明确打开一个新标签(不窗口),并从一个文档跳转到该选项卡,在Firefox?用户数量有限,因此可以使用必要的扩展/权限设置客户端。

我知道火狐可以强制打开标签页的所有链接,但我认为不会削减它,因为我仍然无法应对并注重新打开的窗口。

感谢所有伟大的答案大家。现在我已经有足够的材料来决定是否采用greasemonkey方法,依靠用户设置“在标签中打开”并按名称对窗口进行设置,或者像许多人建议的那样使用“内联”HTML解决方案。我接受了我觉得最努力的答案。

+1

我不知道这是否会帮助,但你看了标签Mix Plus的添加上(https://addons.mozilla.org/en-US/firefox/addon/1122)? – Mottie 2009-11-27 13:28:31

回答

3

我第二个答案说,你应该使用Javascript在HTML中做到这一点。然后它可以在支持JS的所有浏览器中工作。

我把两个div页面,显示开/隐藏每个格取决于所选择的选项卡。如果你很聪明,你可以在选项卡上捕捉点击,并确定用户是左键单击还是中键单击。如果他们离开,请在页面上加载该标签。如果他们中途点击,让浏览器打开一个新的标签页/窗口(根据用户的偏好设置,不要试图强制它),并保持当前窗口不变(即不要切换到新标签页) 。单击该选项卡的动作是使用AJAX加载远程文档的内容并将其放入选项卡中。在提交AJAX请求之前使用Javascript修改URL,以便服务器知道发送网页片段而不是整个页面。

这种双重属性解决方案的优点是,标签式方法可以按照您希望它适用于大多数情况的方式工作,但对于具有两个屏幕或者更喜欢在浏览器标签之间切换的用户,他们仍然可以灵活地在多窗口模式下工作。这一切都可以在没有任何浏览器扩展的情况下完成,并且在IE以及Firefox,Opera等应用程序中也应该能够很好地工作。避免将自己锁定在一个浏览器中,即使是像Firefox一样优秀的浏览器。有一天,客户需要使用Opera或Safari,否则你会被卡住。

16

没有办法强迫一个窗口中打开的选项卡。这完全取决于用户的偏好设置。

+2

正确,想象一下如果有......浩劫。 – LiamB 2009-11-27 12:17:34

+2

我很高兴每个标签在现代浏览器中都有javascript沙盒。否则随之而来的混乱只是不会考虑 – 2009-11-27 12:22:22

+1

我同意,出于用户体验原因,无法在简单的HTML中执行此操作。这就是为什么我提到安装扩展是可能的。也许存在这个目的。 – 2009-11-27 12:24:50

1

不,有没有办法强迫一个新的标签的开放,仅仅是因为这将是不支持由联合国标签浏览

您只能将其设置为打开一个新窗口,而不是一个新标签。

3

你说你不想使用iframe来避免混淆。现在我不知道您的网站布局,但我一直在使用编辑器在编辑内容旁边自己的div中打开的方法,并且在编辑时内容将实时更新。无需更改标签。

(如果窗口太窄有HTML标签编辑预览

它似乎并不混乱添加到用户,对我这种做法确实很好。也许这是值得考虑你的情况。

+0

+1,我喜欢选项卡式视图的选项,这是我认为在用户界面方面与请求/希望特性最接近的选项。 – 2009-12-02 08:58:06

2

如何使用iframe和JavaScript?

我知道你说过你想避免'使用iframes混淆',但在我看来,如果你真的需要同时加载不同的页面,这是最好的选择。

从理论上讲,你可以使用JavaScript或者甚至更好,使用jQuery创建自己的标签系统,因为它的UI模块提供很酷tab control

对于每一个你可以加载元素中特定的管理页面中单独的“无头-footerless版”选项卡。如果用户想修改不同的内容,他只需点击该选项卡并带上不同的iframe。

所有这一切都可以使用AJAX完成,但iframe解决方案非常简单,因为您只需加载就绪页面,所有回发已经由原始页面处理并与主管理页面分离。

您可能还需要发挥一点点设置你的iframe的正确的高度,以适应没有滚动条的所有内容,但是这一次,是JavaScript的只是位。

1

这个问题让我怀疑HTML 5是否允许这样的规范,并且it doesn't(其他hyperlink attributes之一也没有)。新的浏览上下文是一种新的浏览上下文,没有办法表示对背景上的标签或前景的偏好。

1

你不能强迫一个标签,但如果你使用的目标具有特定的名称,如目标=“my_cms_window”,许多浏览器会打开这是一个新的标签。此外,他们会记住名称,如果您重复使用目标,请将内容放在同一个标​​签中。我发现这在现实世界中运作良好。

+0

Wordpress使用此方法进行信息/页面预览 – 2009-12-07 10:16:36