【问题标题】:Javascript input id value to urlJavascript 输入 id 值到 url
【发布时间】:2018-04-09 02:46:58
【问题描述】:

如果能帮助我构建一个基本的 javascript,它将提取论坛输入名称值并从提取的值创建一个新 URL,并使用新 URL 重复,直到提取的值为 -1,我将不胜感激。那将是最终的 URL。一旦找到最终的 url 就会被打开。

例如,如果源代码声明

<input name="nextPage" ... value="10908071">

脚本将提取nextPage10908071 并将其输入到url 中,从而转发到www.url.com/xyz?page=10908071

当识别出下一个 url 时,脚本将循环并再次提取 nextPage 值,直到值为 -1。

一旦值为 -1,将找到并最好打开最终的 web url。

非常感谢任何帮助。

附言这是我的第一篇文章,我总是可以在这里找到答案而无需发帖,但这似乎有点复杂。

【问题讨论】:

  • 它将如何循环?
  • 您需要帮助的代码在哪里?
  • 它会循环通过值加载下一页,打开它并再次提取下一个值,直到值为-1,然后没有下一页。
  • 您是否尝试过编写任何代码?你试过用谷歌搜索find input by name in javascriptget input value in javascript吗?其余代码是if(value == -1),所以我建议试一试:)

标签: javascript url input linked-list iteration


【解决方案1】:

只需使用循环并发出网络请求,直到达到所需的值:

async function findURL() {
  let value;
  const baseURL = window.location.href; // I assume this is eg 'www.url.com/xyz'
  let pageURL = baseURL;
  while (value !== '-1') {
    const response = await fetch(pageURL);
    const responseText = await response.text();
    const responseDocument = (new DOMParser()).parseFromString(responseText, 'text/html');
    value = responseDocument.querySelector('input[name="nextPage"]').value;
    if (value !== '-1') pageURL = baseURL + '?page=' + value;
  }
  // final URL found, redirect to its page:
  window.location.href = pageURL;
}

但您必须非常确定该值最终会变为-1

【讨论】:

  • 这非常有用,我没有编码是年龄,这让我意识到我缺乏什么。我可以将其创建到用户脚本中吗?
  • 当然,它是有效的 Javascript,所以你可以在用户脚本中使用它。
  • 你帮了大忙!我试图将粘贴复制到 tampermonkey 并在异步中出错。当在站点上脚本什么都不做时,通过使用 /* jshint ignore:start / / jshint ignore:end */ 包装来消除错误。很抱歉让脚本小子帮忙。
  • ESLint 优于 JSHint,如果我是你,我会关闭 JSHint。你是什​​么意思,“什么都不做”,有什么错误?
  • 这不是 Tampermonkey 错误,这是一个(过时的)linter 警告 - 代码仍然有效,并且可以在 Tampermonkey 中使用比通过控制台更容易得多。
猜你喜欢
  • 2020-02-18
  • 2021-01-07
  • 1970-01-01
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 2010-12-30
相关资源
最近更新 更多