この関数は、ループを開始せずに継続的に実行されます。
setTimeout は、refreshTags 関数の実行を許可するためのものです。
私は最高のスクリプトではないと確信しています - 私は教祖ではありません - しかし、このスクリプトが無限ループで実行されている理由について何か考えはありますか?
function addTag()
{
console.log('running');
refreshTags();
var t = document.getElementById('existingTags').textContent.match(/tag1/);
var u = 'tag1';
if (t == u) {alert('This ticket has already been resolved by our team.')};
if (t != u)
{
refreshTags();
setTimeout(function()
{
document.getElementById('tagToAdd').value = 'tag1';
document.getElementById('tagSubmit').click();
alert('Ticket resolved!');
}, 2000)
};
}
編集: 以下の addTag を呼び出すコード。
var resolveButton = document.createElement("a");
resolveButton.href = '#';
resolveButton.innerHTML = '<span>Resolve</span>';
resolveButton.setAttribute("onClick", "addTag()");
resolveButton.setAttribute("type", "button");
resolveButton.setAttribute("class", "button1");
var cha = document.getElementById('chatter_view');
cha.parentNode.insertBefore(resolveButton, cha);