Call href from JavaScript

2020-07-09 07:11发布

问题:

This is the same question as THIS ONE, I can't answer that anymore, so I'm re-posting it with my account.
Sorry for the mess.

I need a Greasemonkey script that on a page load activates a href link like 'javascript:FUNCTION'. I've seen this code:

<script language="Javascript" type="text/javascript">
    function somescript() {
            window.location.href = document.getElementById('ololo').href;
    }
</script>

<a href="javascript:alert('test');" id="ololo">test</a>
<br />

<a href="javascript:somescript()">click me</a>

and, while it works on a local page even when using onload, it doesn't work when I use it in my script.

Probably I'm missing something when transferring the code from the body of an html page to a Greasemonkey script.

I hope this time the question is more clear, excuse me for any misunderstanding, but I'm still a beginner with JS.

回答1:

Solved it like this:

window.location=document.getElementById('foo').href;

Thanks everyone for answering anyway.



回答2:

<script type="text/javascript">
    function somescript() {
        eval(document.getElementById('ololo').getAttribute('href').replace('javascript:', ''));
    }
</script>

I can see the alert box..

Please note that this will only work when its javascript code into the href attribute...



回答3:

Will this work for your scenario?

<script type="text/javascript">
  function somescript() {
    document.getElementById('ololo').click();//fake a click on the link
  }
</script>