0

我现在已经花了几个小时试图通过阅读其他人的帖子来弄清楚你是如何做到这一点的——我什至有一个 jsfiddle 可以工作,但无法让它在我的页面中工作。

我想构造一个在页面上多次使用的 URL,这样当我需要更新 URL 时,我只需要通过标头中的 Javascript 变量在一个地方进行。

我将 URL 分为两部分,因为其中一个变量几乎总是相同的,但另一个在不同页面上通常会有所不同。

例如,我在标题中声明:

<script language="javascript" type=”text/javascript”&gt;
function goSchedule()
{
var schedulePath = "http://[rootPath]/";
var scheduleFileName = "[extension to document].htm";
schedulePath = schedulePath + scheduleFileName;
document.getElementById('go').href= schedulePath;
}
</script>

然后我似乎无法弄清楚如何在 href 中调用它。这不起作用:

<p>Click the following link to test:<a href="javascript:goSchedule();" id="go">Test this link</a></p>

如果您回答,请解释最初的 Javascript 是如何创建的以及如何正确调用它以使其成为活动 URL。

4

1 回答 1

0

看起来您正在尝试在用户单击链接时替换 href 属性。我建议您在页面完成加载后立即为所有链接替换一次 href 属性。

确保在头部声明你的函数

<head>

<!-- Other head declarations ... -->

<script language="javascript" type=”text/javascript”&gt;
function goSchedule() {
    var schedulePath = "http://[rootPath]/";
    var scheduleFileName = "[extension to document].htm";
    schedulePath = schedulePath + scheduleFileName;
    document.getElementById('go').href = schedulePath;
}
</script>
</head>

然后像这样将此方法绑定到body元素的onload事件

<body onload="goSchedule()">

    <!-- Other HTML Stuff Goes Here ... -->

    <p>Click the following link to test:<a href="javascript:void" id="go">Test this link</a>
    </p>
</body>

这是完整的html页面:

<html>
    <head>

        <!-- Other head declarations ... -->

        <script language="javascript" type="text/javascript">
            function goSchedule() {
                var schedulePath = "http://support.mozilla.org/";
                var scheduleFileName = "en-US/products/firefox?as=u&utm_source=inproduct";
                schedulePath = schedulePath + scheduleFileName;
                document.getElementById('go').href = schedulePath;
            }
        </script>
    </head>
    <body onload="goSchedule()">

        <!-- Other HTML Stuff Goes Here ... -->

        <p>Click the following link to test:<a href="javascript:void" id="go">Test this link</a>
        </p>
    </body>
</html>
于 2013-02-25T20:13:08.093 回答