为了账号安全,请及时绑定邮箱和手机立即绑定

通过单击按钮在新窗口中传递并运行 JavaScript 代码

通过单击按钮在新窗口中传递并运行 JavaScript 代码

HUWWW 2023-04-27 10:40:02
如何使 html 按钮运行代码?我想要做的是放一个按钮<button>打开一个新页面about:blank,并让代码在<textbox>那里。我不知道如何使页面about:blank具有代码。我努力了:<button src="about:blank" target"_blank" data-uri="(I don't know what to put here or if this is even correct)">Click to run code</button>我正在尝试用 HTML 和 JS 来实现它。如果有人可以提供帮助,那就太棒了!
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

这应该适用于几乎所有的浏览器(在 FF 和 Chrome 中测试):


<!-- Your link !-->

<a id="externalLink" href="#/">Click to run the code</a>


<script>

  const el = document.getElementById('externalLink');


  // Create a content for a new page with a script in it

  const newPageContent = `

  <!DOCTYPE html>

  <html>

  <head>

    <meta charset="UTF-8">

    <title></title>

  </head>

  <body>

    <script>alert('Hello World!')<\/script>

    Hello world! 

  </body>

  </html>

  `;


  // Listen on "click" event

  el.addEventListener('click', (e) => {

    e.preventDefault();


    // Create a new window on click

    const w = window.open('', '_blank');


    // Write your content to it

    w.document.write(newPageContent);

  });

</script>

虽然我无法href="data:text/html"正常工作。我认为浏览器的某些安全规则应该禁止它。


查看完整回答
反对 回复 2023-04-27
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信