Javascript 在哪里做这个?

Javascript 在哪里做这个?,javascript,editor,backend,Javascript,Editor,Backend,该环境是一个java web应用程序,前端有jquery和jquery ui。有一个管理站点,他们可以在其中创建出现在“参与者”站点上的内容 客户端希望在管理站点上有一个WYSIWYG类型编辑器,这样他们就可以将HTML粘贴到参与者站点上显示的文本区域中。我一直在研究其中的一些,并用它做了一些实验,它似乎很容易使用,而且它能满足我的大部分需求。我还被建议在后端使用,以防止他们的“管理员”添加恶意代码-我猜他们不太信任他们的管理员 但我有一个要求让我抓狂。他们希望任何添加到文本区域的超链接进入另一

该环境是一个java web应用程序,前端有jquery和jquery ui。有一个管理站点,他们可以在其中创建出现在“参与者”站点上的内容

客户端希望在管理站点上有一个WYSIWYG类型编辑器,这样他们就可以将HTML粘贴到参与者站点上显示的文本区域中。我一直在研究其中的一些,并用它做了一些实验,它似乎很容易使用,而且它能满足我的大部分需求。我还被建议在后端使用,以防止他们的“管理员”添加恶意代码-我猜他们不太信任他们的管理员

但我有一个要求让我抓狂。他们希望任何添加到文本区域的超链接进入另一个窗口(而不是每次都进入不同的窗口)。因此,我想他们基本上希望每个href中都有一个
target=“myWindow”
。无论是在编辑器中创建超链接,还是粘贴包含超链接的Word文档(这似乎是他们经常做的事情),他们都希望应用这种方法


我的问题是如何将此
目标应用于所有的HREF。是否有所见即所得编辑器可以做到这一点,或者可以在反艾米插件中实现(因为它已经在解析html),或者我需要在两者之间的某个地方实现这一点?

我会在发布数据后实现这一点。使用JSOUP解析HTML并向其添加新目标非常容易。你也可以用正则表达式

另一个选择是使用javascript并轻松添加

$(".somediv a").attr('target', '_blank');
最后一个选项,如果您不知道基本标记。您可以执行
,这将使您的所有HREF成为新的目标

编辑-


正如Justin指出的,您可以在发布之前处理href。我不知道CKEdit有这个选择。这可能是更好的解决方案

当用户提交表单时,我会在页面上的JavaScript中处理它。您可以遍历所有锚定标记,并在末尾添加必要的目标位。这个过程与这里的答案类似:


base标记不起作用,因为这将影响参与者页面上的所有HREF,而不仅仅是包含管理员生成内容的HREF。但是谢谢你的建议。好的,我说了所有这些,因为我认为你不能控制页面的哪一部分需要修改。我觉得贾斯汀的解决方案是最好的。祝你好运谢谢你的+1