我有一个简单的oneline代码段,可以“点击”可见页面上的“加载文件”按钮来调用对话框弹出窗口(例如加载图像)。
minuteToStr
当手动粘贴并在控制台中运行此行成功(它会打开对话框)时,上面的代码段无法执行此操作。似乎Chrome不允许通过用户调用打开对话框。所以,我设置浏览器允许所有弹出窗口,但没有结果。
在文件加载按钮显示的不同页面上测试。
感谢任何想法。
答案 0 :(得分:0)
似乎Chrome无法通过用户调用打开对话框。
我创建了一个片段来测试此语句是否为true。这似乎是不正确的。
350x150
。document.querySelector('img').click()
。图像下方的文字递增。
document.querySelector('img').addEventListener('click', () => {
let p = document.querySelector('p');
p.textContent = parseInt(p.textContent) + 1;
});

<img src="https://via.placeholder.com/350x150"/>
<p>0</p>
&#13;
可能的解决方案:
this
可能会导致问题。尝试删除它。getElementsByName
数组引用它。因此,请改用document.getElementById('myCustomId').click()
。确保将ID添加到HTML元素,例如<img id="myCustomId" .../>
。您可能引用了错误的元素,这就是为什么在执行click()
时您看到错误结果的原因。在此答案中添加评论,我们最终会找出问题所在。