Service Cloud Toolkit API不能与您的浏览器一起使用 - salesforce

时间:2017-10-10 07:21:23

标签: salesforce

在重定向到CTI控制台软电话中的其他URL后,未执行Salesforce交互/控制台方法。
我已在呼叫中心的软电话布局中映射了CTI适配器URL(例如http://domain1:port1/xyz/test.jsp),交互/控制台方法在该特定页面上执行 方法如: sforce.interaction.runApex(...);

在点击事件中,我重定向到此页面上的其他URL(例如http://domain1:port2/abc/test1.jsp),未执行此交互/控制台方法。
方法如: sforce.console.setCustomConsoleComponentPopoutable(...);
sforce.interaction.runApex(...);

在控制台上 - " Service Cloud Toolkit API不能与您的浏览器一起使用" 会在页面重定向后出现。
请帮助解决方案

1 个答案:

答案 0 :(得分:1)

此错误是由于在将窗口消息发送到顶部窗口时验证sfdcOriginIframe和nounce属性引起的。

实际上,一旦加载了软件电话,就会从window.location.search字段填充这两个属性。此搜索字段类似于:

?sfdcIFrameOrigin=https%3A%2F%2Fap5.salesforce.com&nonce=3c1d1c360732e6754323247e711324b86d027c3c2809abb163754069d02365c5&isAdapterUrl=true&

我认为它们来自iframe广告代码的源代码

<iframe
    id="SoftphoneIframe"
    name="SoftphoneIframe"
    allow="camera *; geolocation *; microphone *"
    src="/loadSoftphone.html?sfdcIFrameOrigin=https%3A%2F%2Fap5.salesforce.com&amp;nonce=3c1d1c360732e6754323247e711324b86d027c3c2809abb163754069d02365c5&amp;isAdapterUrl=true"
    style="display: block;"
    width="100%"
    height="650"
    frameborder="0"
></iframe>

如果您重定向软件电话框架的位置,搜索字段将消失,并且您不能再在interact.js中使用任何方法。

所以也许有两种方法可以解决此问题:

  1. 将搜索字段保留在隐藏字段中,并将其作为searchQuery字符串带入下一页;

  2. 在重定向软件电话之前刷新顶部窗口

    sforce.interaction.refreshPage();

最后,我使用第二种解决方案来解决我的问题。

Code sample