代码之家  ›  专栏  ›  技术社区  ›  Seth Reno

javascript跨域文档.getElementByID

  •  0
  • Seth Reno  · 技术社区  · 15 年前

    我正在尝试打开USPS网站上的邮政编码查找页面,并使用javascript填写表单,我得到以下错误: 'Permission denied to get property Window.document'

    这是我的剧本:

    function lookupZipCode(line1, line2, city, state, zip) {
      var usps = window.open('http://zip4.usps.com/zip4/welcome.jsp');
      usps.document.getElementById('address2').value = line1;
      usps.document.getElementById('address1').value = line2;
      usps.document.getElementById('city').value = city;
      usps.document.getElementById('state').value = state;
      usps.document.getElementById('zip5').value = zip);
    }
    

    我知道这是一个安全特性。理想情况下,我会使用查询字符串参数,但页面似乎不支持它们。

    有人对解决方法有什么想法吗?

    4 回复  |  直到 15 年前
        1
  •  4
  •   Rafael    15 年前
        2
  •  3
  •   Chad Birch    15 年前

    你应该使用 APIs they provide 而不是尝试自动填写表单。

        3
  •  0
  •   artlung    15 年前

    了解您收到的安全错误会很有帮助。这是“的结果 same origin policy “用于Web脚本。

        4
  •  0
  •   Kru    15 年前

    我没有做太多的工作,但是你可以使用雅虎查询语言的HTML选择器。( http://developer.yahoo.com/yql/ )为了得到你需要的部分。然后您可以将它作为JSON传递,这样您就可以得到跨域了。