【发布时间】:2015-10-29 13:31:19
【问题描述】:
关于如何拦截 ajax 调用并使用 javascript 查看其所有内容,我找到了一些有趣(且有效)的答案。(Answer1 和 Answer2,忽略答案 2 中的“计时器方法”)。
我有一个可以在第三方页面上运行的 Chrome 扩展程序。页面发送和接收自己的 ajax 请求,并且主要根据接收到的数据重新调整自身。目前,我的扩展程序可以拦截并查看接收到的数据,但不会干扰任何 ajax 数据。
现在我希望更进一步,更改结果在页面重塑其 HTML 内容之前!
示例:
用户点击一个按钮,页面本身发送一个请求并接收一个包含 100 个要在表格中显示的元素的数组的响应。该页面会自动创建包含 100 个元素的 html 表格。一切都没有我的干涉。
接收到数据后,可以看到接收到的100个元素。
现在假设我希望页面只显示“50”个元素而不是 100 个。如何更改页面收到的响应?
详情:
- 页面发送请求,而不是我的扩展(我可以更改发送的参数,但这不是最佳选择,我不想向服务器发送错误的请求,我无论如何都看不到或更改)。
- 页面本身在收到响应后会更改其 DOM。
- 我不想更改 DOM!我需要在页面开始更改其 DOM 之前更改收到的数据。 (接收到的数据量太大,页面的移动速度比大陆的移动还要慢,我需要阻止创建元素)
- 该页面是高度动态的,使用其中一种“类似引导”的框架,并且每次收到响应时都会清除并重新创建其大部分 DOM 元素。
【问题讨论】:
-
抱歉我上次的评论,我没有注意到链接。是的!看来第二个链接会起作用。有机会我会试试的!非常感谢!
-
嘿@wOxxOm,第二个链接实际上回答了我的问题。如果您想将其发布为答案,我会检查它是否已回答。谢谢:)
标签: javascript html ajax google-chrome-extension dom-events