JS控制加载的html文档

问题描述 投票:0回答:2

我只是在学习javascript,所以我真的不知道我在做什么。在工作中,我们有几个内部网站,我们去查找信息。我正在尝试写一些可以加快这个过程的东西。我被困在第一个网站上,只是想让它登录。我在Chrome中加载了网站,并使用JQuery命令,我能够输入用户名和密码,并以编程方式单击登录按钮。我使用以下代码加载页面...

let Hash = 'abc';
let Pass = '123'
let ATSweb = 'https://website.aspx'
let wHeight = window.outerHeight;

function load_home() {
   document.getElementById("main").innerHTML = '<object type="text/html" height =' + wHeight + ' width = "100%" id="ATS" data=' + ATSweb + '></object>';
   $('input#_ctl0__ctl0_FullPageBody_MainColumn_UsernameTextbox').value = Hash;
}

load_home();

该JQuery命令在Chrome的开发者控制台的原始页面中工作,但是当它加载了此代码时,它不起作用。在开发人员控制台中,如果我深入查看代码正在加载的页面,然后执行命令,它会将Hash变量放入控件中。

我猜有一些方法可以引用我不知道的正在导入的文档。任何帮助将不胜感激。这是我的HTML。

<!DOCTYPE html>
<html>
  <body>
    <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>
    <main id="main" height = '100%' width = '100%'>
    </main>
    <script src="index.js"></script>
  </body>
</html>
javascript jquery
2个回答
0
投票

设置输入值必须在加载外部资源(本例中为网页)后进行。

因此,当您在Chrome控制台中执行$(...)语句时,所有这些加载都已发生。但是,当您将上面的代码放入网页时,事情的顺序会发生一些变化。该行代码执行并且不执行任何操作,因为文档尚未加载。

根据您的问题,似乎正在发生的事情。所以...

更改

$('input#_ctl0__ctl0_FullPageBody_MainColumn_UsernameTextbox').value = Hash;

$('#ATS').on('load', function(){
   $('input#_ctl0__ctl0_FullPageBody_MainColumn_UsernameTextbox').value = Hash;
}

如果这不起作用,请告诉我,我们可以搞清楚。


0
投票

我开始认为这根本不可能。我一直遇到以下错误。

Blocked a frame with origin "null" from accessing a cross-origin frame.

问题似乎是访问下面的'#document'元素。

<html>
  <head></head>
  <body>
    <script type="text/javascript" src="js/jquery-2.2.2.min.js">/script>
    <main id="main>
      <object type="text/html" height="1160" width="100%" id="ATS" data="http://thewebsite.aspx"></object>
      #document
      </object>
    </main>
    <script src="index.js"></script>
  </body>
</html>

我进入控制台并运行以下代码行。

let frame = document.getElementById('ATS').contentWindow
let pEl = frame.$('#_ctl0__ctl0_FullPageBody_MainColumn_UsernameTextbox')

第二行代码产生了关于“阻塞帧”的错误。

我遇到了这个讨论被阻止的帧并使用本地文件的website,这就是我正在做的事情。

所以,除非有人有任何想法,否则我将把这一点想象成不可能。

感谢您花时间检查这篇文章,尽力帮助。

© www.soinside.com 2019 - 2024. All rights reserved.