如何通过浏览器的控制台在页面的每次加载中手动插入js代码

时间:2019-07-18 18:11:07

标签: javascript console

我正在准备向用户显示随机数的JavaScript代码,如下所示:如果用户花费超过两分钟的时间传递到下一个网页,或者如果实际页面具有GET参数“&source”,则该随机数为换成另一个。否则,将为所有网页显示相同的随机数。

问题在于,应该在每次加载页面时从浏览器控制台手动执行JavaScript代码:我应该准备一个可以从控制台集成到任何网页的代码。

与正常情况(包括带有<script></script>的脚本)有什么区别

1 个答案:

答案 0 :(得分:0)

感谢发布!在以后的帖子中,请尝试提供一些代码或您以前尝试过的示例。

无论如何,这是一个简短的脚本示例,它将检查现有数字,检查是否设置了&source参数,如果没有设置则启动计时器,并生成一个新的计时器结束或设置参数后的数字。

要保存页面之间的信息,应考虑使用window.localStorage。这样,您就可以检查并保存要在以后加载时使用的号码。

请注意,除非您将其引入自己的页面,否则此片段将不起作用。另外,如@ Sorin-Vladu所述,如果您无权修改正在运行脚本的页面,则必须使用浏览器扩展。

const timeout = 120000

// This can be replaced by your manual execution
window.onload = () => {
  start()
}

function start() {
  // Attempt to pull the code from storage
  let code = localStorage.getItem('code')
  console.log(code)
  
  // Get the URL parameters
  let urlParams = new URLSearchParams(window.location.search)
  
  // Check to see if the source parameter exists
  if (!urlParams.has('source')) {
    // If not, begin the timer
    setTimeout(() => {
      setCode()
    }, timeout)
  } else {
    setCode()
  }
}

function setCode() {
  const code = Math.floor(Math.random() * 1000000)
  localStorage.setItem('code', code)
  console.log(code)
}