触发/打开链接而不用HTML打开

时间:2019-03-14 14:04:09

标签: javascript html css href

我喜欢触发/打开链接动作(链接激活一个LED),但是我不想打开链接网站。它有选择吗?喜欢在后台打开链接吗?

<a id='button' href="http://192.168.178.123/5/on:80">Button</a>

JS或其他语言是否可能?

谢谢!

5 个答案:

答案 0 :(得分:1)

仅将href设置为“#”将停止浏览器运行。

答案 1 :(得分:1)

您可以使用javascript ajax调用。

   var xhReq = new XMLHttpRequest();
   xhReq.open("GET", "http://192.168.178.123/5/on:80", false);
   xhReq.send(null);
   var serverResponse = xhReq.responseText;

这里是如何将功能绑定到按钮的示例

<button onclick="myFunction()">Click me</button>

<script>
function myFunction() {
     //Ajax call here
}
</script>

您可以在此处了解更多信息:https://www.w3schools.com/jsref/event_onclick.asp

答案 2 :(得分:0)

尝试

<a id='button' href="http://192.168.178.123/5/on:80" onClick="fn(event)">button</a>

function fn(e){ e.preventDefault(); }

答案 3 :(得分:0)

您可以listen the event触发点击按钮并使用JavaScript send request触发。

a[0].abc = "abc"
console.log(c[0].abc); // will print "abc".
document.getElementById("button").addEventListener("click", (e) => {
  e.preventDefault();
  const request = new XMLHttpRequest();
  const url = 'http://192.168.178.123/5/on:80';
  request.open("GET", url);
  request.send();
});

答案 4 :(得分:0)

为了不同的目的,我需要类似的东西,我是这样做的:

在头部:

<script>
    function sleep(ms) { //wait function
        return new Promise(resolve => setTimeout(resolve, ms));
    }

    async function ninjaLink() { //doing sneaky stuff
        var ifrm = document.createElement("iframe"); //Creating iFrame
        ifrm.setAttribute("src", "YOUR_URL"); // Setting iFrame's source
        ifrm.style.display = "none"; //Hiding iFrame
        document.body.appendChild(ifrm); //Adding iFrame
        await sleep(3000); //Giving the web page time to load
        document.body.removeChild(ifrm); //Removing iFrame
    }
</script>

在正文中:

<a href="javascript:ninjaLink()">Link</a>

它在隐藏的 iFrame 中打开链接,然后销毁它。