0

我正在尝试与 Adob​​e Test & Target 交互,因为我想通过我的 mbox 加载 JSON 而不是标记。我想将一些 mbox 内容加载到 javascript 中并手动将其添加到 DOM。我已经到处搜索了 mbox.js 的完整文档,但除了最基本的内容之外我找不到任何东西。它描述了如何使用mboxDefine()mboxUpdate定位特定的 dom 元素。有没有只返回内容的函数?```

4

2 回答 2

4

T&T 不提供将响应分配给 javascript 变量的功能。基本上它的工作方式是mbox.js为他们的服务器构建一个 url,然后输出一个脚本包含标签。这样做是为了绕过同源策略限制(跨站点脚本)。

为了处理 html 报价中的任何内容,他们将其放入服务器上自己的 javascript 变量中,然后将其作为响应输出。但是,它们也有响应输出更新目标元素的代码。因此,您实际上无法阻止他们使用 html 提供内容更新目标元素。他们根本不会暴露这一点。

但是,您不必将 html 放入 html 报价中。您可以将 json (javascript) 放入 html 报价中。喜欢就好

html 提供“myJsonMbox”(在界面中)

<script type='text/javascript'>
var myJsonString = "[json string]";
</script>

然后在您的页面上(在您的 body 标签内,但在您想要使用它的代码之前)您将拥有常规的 mbox 代码:

<div class='mboxDefault'></div>
<script type='test/javascript'>
mboxCreate('myJsonMbox');
</script>

然后在那之后的某个地方,你想用它做点什么,那myJsonString是你可以参考的。或者,如果您愿意,您可以在页面加载后的某个时间mboxDefine执行此操作。mboxUpdate

您认为这对您不起作用有什么特别的原因吗?

于 2013-11-08T01:06:26.143 回答
0

你可以:

a- 插入您将用于手动操作 DOM 的 JS 代码

b- 插入可用于更改原始 HTMl 或新添加的 HTML 的 CSS 代码。

c- 插入对第 3 方脚本的调用,该脚本将在需要时从第 3 方服务器或同一服务器加载内容。

于 2015-04-10T07:07:02.303 回答