【问题标题】:SDL Tridion 2011 Paste Special FunctionSDL Tridion 2011 粘贴特殊功能
【发布时间】:2013-01-14 22:36:54
【问题描述】:

SDL Tridion 2011 中的特殊粘贴功能在任何当前的 Web 浏览器中都不起作用。有人知道这个问题是否会在 Tridion 2013 中得到解决?它在运行时可以真正节省时间,并且可以防止从 Microsoft Word 或任何类似程序粘贴时无法避免的大量重新格式化。

【问题讨论】:

  • 你最后一次看到这个工作是什么时候?

标签: tridion tridion-2011 paste rich-text-editor


【解决方案1】:

人们经常登陆这个页面,只是想知道,现在社区上有一个扩展可用。

http://www.sdltridionworld.com/community/2011_extensions/pastespecial.aspx

【讨论】:

    【解决方案2】:

    我们用 SDL 重新打开了这个问题,下面是他们关于“选择性粘贴”在 Tridion 中应在何处/何时工作的回应:

    构建扩展以启用特殊粘贴不在研发范围内 当前范围。

    2013 年 2 月 13 日,SDL 将在 社区网络研讨会 (http://webinars.julianwraith.com/)。

    本次大赛将挑战社区创作贴特辑 CME 和 XPM 的扩展。

    比赛将设置价格以激励社区参与。

    【讨论】:

    • 比赛发生了吗?如果是这样,有什么有用的结果吗?
    • 在我们的例子中,剪贴板访问已启用,但在 IE9 中仍然无法使用特殊粘贴。在所有选项中,仅粘贴为纯文本工作,其余选项不起作用。有什么特别的设置吗?
    【解决方案3】:

    Paste Special 在 Internet Explorer 中正常工作,但在 Chrome 或 Firefox 中不适用。

    随着 2011 年的升级,我们一直在推动用户使用 Google Chrome,因为它比 IE 或 Firefox 快得多,而且特殊粘贴无法在 Chrome 中正常工作已成为我们的编辑和制作人遇到的最大可用性问题之一Tridion 2011(毫不奇怪,他们喜欢主要用 msword 编写。)我们在 11 月提出了在 Tridion 支持下,Paste Special 无法在 Chrom 中工作的问题,并收到了两个相互矛盾的回复。

    在这两种情况下,Tridion 都承认知道该问题,并且在这两种情况下,他们都表示他们不会在 Tridion 2011 中解决该问题。不同之处在于,在我们收到他们的第一个回复时,他们说他们会解决Tridion 2013 中的问题,在我们收到的第二个回复中,他们说他们没有解决问题的计划。

    我们确实查看了代码发生的情况,看看是否可以通过破解 UI 来修复它,我们为 Chrome 发现的是以下启用/禁用粘贴按钮的 sn-p:

    if ($dom.isWebkit) // couldn't get it to work in Chrome
    {
        delete allowedActions["Paste"];
    }
    

    所以基本上看起来 Tridion 尝试过但放弃了在 Chrome 中实现选择性粘贴 同样,在 Firefox 中,按钮已启用,但当您尝试粘贴特殊内容时,什么也没有发生。我们的开发经理调试了,结果发现 paste 方法在执行 lDocument.execCommand 时抛出了一个静默异常 -> NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED 在以下代码中:

    var lPasteFailed = false; 
    try 
    { 
    pastingWithFlag = iProcessingFlag; 
    if (lPasteFailed = (!lDocument.execCommand("paste", false, null) || lDocument.body.innerHTML == "")) 
    { 
    throw Error("paste had no result - possibly clipboard data unaccessible"); 
    } 
    if (pastingWithFlag == undefined) 
    { 
    lPasteFailed = true; // in certain cases lDocument.execCommand("paste"...) will cause paste into the main area in IE, which will be handled in the onpaste event handler ->     do not paste again 
    } 
    } 
    catch (err) 
    { 
    $fa.canAccessClipboard = false; 
    lPasteFailed = true; 
    self.fireEvent("warning", { source: "paste()", message: err.message }); 
    } 
    

    为了解决这个问题,我们面临着很大的内部压力,因此我们将通过 Tridion 支持重新提出该问题,我计划在接下来几天的某个时间与我的客户代表取得联系,以也将此作为一个关键问题向他提出。

    【讨论】:

    • Chrome 和 Firefox 都不允许从 JavaScript 访问剪贴板。 Firefox 曾经允许您通过一些复杂的配置设置来覆盖它,但这些显然也不再起作用了。替代方案要求您使用键盘手动粘贴它,然后让编辑器尝试重定向输入并做一些魔术来响应事件。但也有各种各样的问题。我想我的意思是,我们 SDL 并没有放弃寻找解决方案,但它远非微不足道,而且它不太可能小到可以热修复。
    • @Peter 并没有说这很容易,但 Chrome 不是在 13 或 14 版左右获得通过扩展访问剪贴板的能力吗?我知道这仍然不是简单的,因为谷歌让你跳过实际获取数据,但似乎他们至少为编程剪贴板访问提供了某种机制。
    • 您可以随时在扩展中访问剪贴板。他们所做的是删除了正常执行此操作的功能,然后说“编写浏览器扩展”作为替代。不完全理想,特别是考虑到大多数客户不想安装浏览器扩展只是为了粘贴功能。但是,是的,这是可用的选项之一。
    【解决方案4】:

    Mark - 对我来说,这确实有效,我刚刚在 IE7 和 FF18 上都看过。 在 IE 中,paste special 弹出对话框的焦点有时永远不会在前面,因此我有时必须最小化 SDL Tridion 编辑窗口才能找到它。

    也许您可以提供一些有关您收到的浏览器和错误的额外信息?

    还请参考官方 SDL 文档中支持的浏览器:

    支持的网络浏览器:

    Internet Explorer 9.0 Safari 5.1 for Mac Google Chrome,最新 版本 Mozilla Firefox,最新版本

    【讨论】:

    • 受支持的 Web 浏览器列表必须有所保留,这并不是因为 Tridion 的错,而是由于 Chrome 和 Firefox 的快速发布周期。每隔一段时间,他们就会引入一些改变,这些改变只会破坏以前有效的东西。添加 Chrome 和 Firefox 的自动更新“功能”,这可能会导致偶尔出现挑战,例如 FF17 于 11 月发布时,它与 Tridion 的配合不佳。
    • @john 对于 IE-9 中的“特殊粘贴”是否有任何特定设置。仅粘贴为文本对我有用。其他选项不粘贴任何内容,RTF 字段保持空白。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多