我试图绕过一堆菜单,直接获取我想要的数据。
这是我想去的链接:
- http://factfinder.census.gov/servlet/MapItDrawServlet?geo_id=14000US53053072904&tree_id=4001&context=dt&_lang=en&_ts=288363511701
- factfinder.census.gov/servlet/MapItDrawServlet?geo_id=14000US53025981400&tree_id=4001&context=dt&_lang=en&_ts=288363511701
- factfinder.census.gov/servlet/MapItDrawServlet?geo_id=14000US53067011620&tree_id=4001&context=dt&_lang=en&_ts=288363511701
请注意,如果您现在将其拉出,您只会看到 map 的 GIF 轮廓,但它“背后”没有 map 数据。
但是,如果您转到:factfinder.census.gov/servlet/DTGeoSearchByListServlet?ds_name=DEC_2000_SF1_U&_lang=en&_ts=288392632118
- 选择地理类型:..... .....人口普查区
- 选择一个州:华盛顿
- 选择县: PIL 斯
- 选择一个或多个地理区域:人口普查区 729.04
- 点击“映射”
map 将完美加载。此外,在您关闭浏览器之前,任何其他链接都可以正常工作。我想做的是能够绕过这 5 个步骤,但显然有什么东西阻止了这一点。有可行的解决方法吗?我有自己的域,可以上传新的 Javascript 或 HTML 文件或任何需要的内容。
最佳答案
查看相关代码,只需要几个函数。 “映射它”按钮使用字符串文字“/servlet/MapItDrawServlet”调用 mapit 函数。
function launchMapItServlet(mapItServlet) {
context = document.form1.context.value;
lang = "en";
url = mapItServlet + "?geo_id=" + geo + "&" + "tree_id=" + tree_id + "&context=" + context + "&_lang=" + lang;
url = getAFFWindowLocation(url, true);
windowCtr++;
window.open(url, "identify" + windowCtr, "menubar=yes,scrollbars=yes,resizable=yes,top=10,left=10,width=750,height=550");
}
function mapItMulti(servlet) {
if (numberOfSelections(document.forms["form1"].search_results) == 0 || numberOfSelections(document.forms["form1"].search_results) > 1) {
alert(ALERT_MSG1);
}
else if (canMapItMulti(document.forms["form1"].search_results)) {
index = document.forms["form1"].search_results.selectedIndex;
geo = document.forms["form1"].search_results.options[index].value;
tree_id = document.form1["tree_id"].value;
launchMapItServlet(servlet);
}
else {
alert(ALERT_MSG1);
}
}
function mapit(mapItServlet) {
geo = "";
mapItMulti(mapItServlet);
}
注意 window.open 函数,它将是您要使用的相关信息,尤其是“url”变量。
关于javascript - 需要有关 Javascript 的帮助....我认为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573320/