首页>Program>source

我有一个像这样的Javascript,用在一个小书签中:

window.location="URL"
document.getElementById('username-id').value = 'User'
document.getElementById('pwd-id').value = 'pass'
doLogin();

问题在于,javascript一旦到达URL就会停止。 如何使其转到页面并执行脚本?

任何帮助将不胜感激。

最新回答
  • 14天前
    1 #

    不幸的是,您的书签无法正常工作. window.location的变更 结果将导致新页面的加载-您必须先显示文档,然后才能在该页面上执行任何Javascript。

    所需的操作可以通过浏览器扩展程序来实现,例如 Greasemonkey脚本,该脚本在页面加载时在页面上执行指定的Javascript。

  • 14天前
    2 #

    我不建议使用浏览器扩展-它们允许不受信任的代码在受信任的代码的上下文中运行.如果您有一个浏览器扩展程序可以加载页面并自动输入您的用户名和密码,那么阻止它将这些凭据发布到恶意网站的原因是什么? 只有您自己,并且只有在您仔细阅读了源代码之后才可以.

    为解决上述问题,我在浏览器的"收藏夹"栏中添加了书签,需要单击两次: 1.单击以导航到该位置 2.点击填写表格

    javascript: 
     var L='http://mysite.com/';
     if(location!=L)location=L;
     else{
      document.getElementById('username-id').value='User'; 
      document.getElementById('pwd-id').value = 'pass';
      document.close();
      doLogin(); 
     }
    

    祝你好运!

  • 14天前
    3 #

    如果您控制要加载的页面,我会考虑将数据作为片段传递并从页面处理.像 window.location="URL#username=...;password=..." ,而不是解析页面中的片段中的数据并对其进行任何处理.但是,在这种情况下,将密码保存在浏览历史记录中并不是一个好主意。

  • 14天前
    4 #

    如果要从相同域(和相同域)上加载的页面执行小书签 方案)作为目标位置,您可以将其加载到iframe中(一定程度上)。

    javascript:
    document.body.innerHTML = '<iframe src="http://example.com/page2.html" onload="this.contentWindow.location.assign(`javascript:
        document.body.style.textTransform = \'uppercase\'; /* put code here */
    void(0);`); this.onload = null;" width=100% height=100%>';
    

    请注意,对于多行字符串,请使用反勾号,以便于阅读.维兹威兹 需要防止无限循环,例如 onload = null 在为位置分配了javascript代码后将触发。

    (仅在Chrome中测试。)

  • 14天前
    5 #

    尝试用 onload包装代码 事件。

    window.onload
    

    由于上述解决方案不起作用,您仍然应该能够编写一个简单的浏览器扩展来解决您的问题.这很容易:选择您使用的浏览器并遵循文档.这是唯一的方法。

    window.location = "URL"; window.onload = function() { document.getElementById('username-id').value = 'User' document.getElementById('pwd-id').value = 'pass' doLogin(); }

  • c++:类模板的注入类名
  • java:我想获取特定月份的周数