Я пытаюсь смоделировать щелчок на HTML-странице, которая у меня есть, но она работает только после того, как я щелкну элемент Inspect с помощью консоли Chrome
Когда я запускаю команду в консоли, я получаю вот это
$('#toolbar-preview').click();
n.fn.init {context: document, selector: "#toolbar-preview"}
Если я нажимаю кнопку «Проверить элемент», поведение меняется на
$('#toolbar-preview').click();
me.fn.init [a#toolbar-preview.link.icon-only]
и с тех пор кнопки нажимаются правильно.
Я вообще не эксперт по javascript, поэтому я не знаю, в чем проблема, возможно, это проблема инициализации кнопки?
EDIT
Я не знаю, правильно ли я анализирую, я думаю, что то, что вызывается, это вот что, полученное из функции анализа:
var g = function(e, t) {
return t = null == t ? e.length - 1 : +t,
function() {
for (var i = Math.max(arguments.length - t, 0), a = Array(i), n = 0; n < i; n++)
a[n] = arguments[n + t];
switch (t) {
case 0:
return e.call(this, a);
case 1:
return e.call(this, arguments[0], a);
case 2:
return e.call(this, arguments[0], arguments[1], a)
}
var o = Array(t + 1);
for (n = 0; n < t; n++)
o[n] = arguments[n];
return o[t] = a,
e.apply(this, o)
}
}
и
on: function(e, i, a, n) {
function o(e) {
var n = e.target;
if (t(n).is(i))
a.call(n, e);
else
for (var o = t(n).parents(), r = 0; r < o.length; r++)
t(o[r]).is(i) && a.call(o[r], e)
}
var r, s, l = e.split(" ");
for (r = 0; r < this.length; r++)
if ("function" == typeof i || !1 === i)
for ("function" == typeof i && (a = arguments[1],
n = arguments[2] || !1),
s = 0; s < l.length; s++)
this[r].addEventListener(l[s], a, n);
else
for (s = 0; s < l.length; s++)
this[r].dom7LiveListeners || (this[r].dom7LiveListeners = []),
this[r].dom7LiveListeners.push({
listener: a,
liveListener: o
}),
this[r].addEventListener(l[s], o, n);
return this
}
Я нашел следующие строки отсюда
EDIT2:
Что я смог понять для своей проблемы, так это то, что она вызвана отсутствием доступа к фрейму страницы. Когда я проверяю элемент, открывается iframe, а затем я могу использовать запросы и тому подобное для запуска таких команд, как click. Есть ли способ правильно получить доступ к элементу внутри iframe с помощью js? Я попробовал пару вещей, но безрезультатно:
frameRef.contentWindow //I have no function to search for elements like "getElementById('')"
frameRef.contentWindow.document//this is null
frameRef.contentDocument//this is null