0

ユーザーのブラウザでJavascriptが有効になっているときに、[マイプロファイル]メニューリンクをカスタムURLにリダイレクトしようとしています。動的関数を作成するカスタムURLをすでにコーディングしてgetNewURL()おり、連結は正常に機能します。問題は、(私のChromeで)Javascriptが有効になっている場合でも、すべてのデフォルトの防止コードにもかかわらず、hrefのデフォルトページが読み込まれることです。私はこれに何時間も費やしてきましたが、何が問題なのか理解できません。どんな助けでも大歓迎です。

<head>
<script type="text/javascript">
<!--
function init() {
    document.getElementById('profile').onclick=getNewURL;
}

window.onload=function(){
init();
}



function getNewURL(e)
{
    if(!e) e = window.event;
    var a = 'http://www.google.com/'; 
    var b = 'advanced_search?hl=en';//this will actually be a dynamic wikispaces
             //variable - the username. 
    var url = a+b;

    window.location.href = url;

    //Over-riding default action
    //e.cancelBubble is supported by IE
    e.cancelBubble = true;
    e.returnValue = false;

    //e.stopPropagation works only in Firefox.
    if (e.stopPropagation) {
        e.stopPropagation();
        
    }
    e.preventDefault();
    return false;
}
//-->
</script>
</head>

<body>
<div id="menu">
<ul>
    <li><a href="http://www.google.com/" id="profile">My Profile</a></li>
</ul>
</div>
</body>        
4

2 に答える 2

3

関数定義にパラメータを追加するのを忘れたようです

function getNewURL(e) ...
于 2012-04-15T23:55:33.373 に答える
0

eとは何ですか?

function getNewURL()
{
    if(!e) var e = window.event;  <--

する必要があります

function getNewURL(e)
{
    if(!e) e = window.event;
于 2012-04-15T23:56:14.737 に答える