我想根据网站上发生的事情编写一个脚本生成器,为此我编写了 javascript - 基于 ajax 的脚本生成器,在每个页面上我都包含 js 文件,并且在提交页面的页面的功能块中我调用javascript 的函数通过 getElementsByTagName(*) 启动页面变量 (DOM) 的读取,并在循环通过它之后,我使用 ajax 将预定义的格式写入文件。
这一切都是针对其运行的同一个站点完成的,但是现在当我需要为任何其他站点实现相同的记录器和脚本生成器时,就像在网站上所做的一样并登录到文件中,我也不能将我的脚本包含在任何其他外部网站,也没有在提交之前放置函数调用以读取 dom 并放入文件中。
这是js的虚拟代码
beginRecording();
function beginRecording()
{
if(RECORD_BIT == 1)
{
processPageData();
}
}
function processPageData()
{
var i
var obj = document
var posArray = new Array();
var allElement = obj.getElementsByTagName("*");
var dataArrayString = "";
for(i=0; i < allElement.length; i++)
{
if (allElement[i].getAttribute('id') != null && allElement[i].getAttribute('id') != "")
{
posArray[posArray.length] = allElement[i].getAttribute('id');
}
}
for(i = 0 ; i < posArray.length ; i++)
{
dataArrayString = dataArrayString+"SET "+posArray[i]+"="+getValueFromPage(posArray[i]);
}
writePostData(dataArrayString);
}
函数 writePostData,通过记录 DOM 元素上的内容来执行 ajax 并在服务器上写入/更新文件,并且我发送了一些更详细的信息,例如 GET/POST 或页面名称等。
在 javascript 作为 document.forms[0].submit() 提交之前,在页面上调用 beginRecording(),以便它可以捕获 POST。
我阅读了有关跨域 ajax 的信息,但我仍然不确定如何在不将脚本添加到该文件并写入文件的情况下监控任何外部网站的 HTTP(读取 GET / POST 和页面或 URL 上的数据)
任何帮助或方向都会很棒。