如何在不插入 dom 的情况下加载 mbox 内容

How do I load an mbox content without inserting into the dom

本文关键字:情况下 加载 mbox 内容 dom 插入      更新时间:2023-09-26

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

T

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

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

但是,您不必将 html 放入 html 产品/服务中。您可以将 json (javascript) 放入 html offer。只是喜欢

html offer 'myJsonMbox' (在界面中)

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

然后在你的页面上(在你的正文标签内,但在你想要使用它的代码之前),你会有常规的mbox代码:

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

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

您是否认为这不适合您的特殊原因?

您可以:

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

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

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