Я предполагаю, что эти сайты прослушивают событие изменения ввода. Попробуйте это:
function handleMessage(event) {
var arguments = event.message;
var emailStr = arguments["Email"];
var nameInputs = document.getElementsByTagName('input');
for (var i = 0; i < nameInputs.length; i++) {
var theFieldName = nameInputs[i].name.toLowerCase();
var theFieldType = nameInputs[i].type.toLowerCase();
if (theFieldName.indexOf("email") !== -1) {
if (!(emailStr === undefined)) {
nameInputs[i].value = emailStr;
nameInputs[i].dispatchEvent(new Event('change'));//trigger change event
filledInEmail = 1;
}
}
else if (theFieldType.indexOf("email") !== -1) {
if (!(emailStr === undefined)) {
nameInputs[i].value = emailStr;
nameInputs[i].dispatchEvent(new Event('change'));//trigger change event
filledInEmail = 1;
}
}
}
}
Хотя следующее не отвечает всем Вашим требованиям, можно хотеть видеть один способ сделать это. Учебное руководство Mike Chirico SQLite имеет раздел по Входу, Все Вставляет, Обновления, и Удаляет, который подражает функциональности бинарного журнала MySQL.
Это полагается на триггеры, которые должны соответствовать схеме для каждой таблицы, изменения которой Вы хотите отследить. Таким образом, если Ваша таблица имеет поле, названное "a", то регистрирующаяся таблица должна отслеживать "aOLD" и "СНОВА". Таким образом триггер может записать обновления, вставляет и удаляет сделанный к полям в той конкретной таблице.
они функционируют, может быть полезным
void *sqlite3_update_hook(
sqlite3*,
void(*)(void *,int ,char const *,char const *,sqlite3_int64),
void*
);
void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
void *sqlite3_profile(
sqlite3*,
void(*xProfile)(void*,const char*,sqlite3_uint64), void*
);
они, кажется, действуют на отдельный dbs
единственным глобальным путем я вижу, должен использовать
sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
int sqlite3_vfs_unregister(sqlite3_vfs*);