在WordPress中使用JavaScript自动重定向

时间:2014-06-25 22:29:20

标签: javascript wordpress

我已经在html网站上使用了以下脚本多年没有任何问题,但出于某种原因我无法在WordPress中使用它。在下拉框中进行选择后,它应该立即将访问者重定向到新的URL,但在WP中没有任何反应 - 它只是坐在那里。以下是实时非工作页面:http://www.lawlessfrench.com/subjunctivisor/

这是脚本(删除了一堆选项):

<Script language="JavaScript">
<!-- Script courtesy of http://www.web-source.net - Your Guide to Professional Web Site Design and Development
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}
//-->
</SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="goto(this.form)" SIZE="1">
<option value="">Choose a verb or expression</option>
<option value="http://www.lawlessfrench.com/subjunctivisor/accepter/">accepter que</option>
<option value="http://www.lawlessfrench.com/subjunctivisor/vouloir/">vouloir que</option>
<option value="http://www.lawlessfrench.com/subjunctivisor/il-est-vrai/">vrai (il est / c'est)</option>
</select>
</form>

2 个答案:

答案 0 :(得分:0)

这是WP中标准的做事方式。

1.首先使用wp_register_script()注册您的脚本,请参阅更多信息的链接

http://codex.wordpress.org/Function_Reference/wp_register_script

2.接下来,您应该使用wp_enqueue_script()将您的脚本排入队列,有关详细信息,请参阅此处

http://codex.wordpress.org/Function_Reference/wp_enqueue_script

为此,您必须将内联js放在单独的.js文件中。还要记住,如果您已经注册了脚本,那么您只需要稍后在enqueue函数中提供句柄。即

wp_enqueue_script( 'name_of_registered_script' );

答案 1 :(得分:0)

我在js小提琴上检查了你的剧本,它肯定有效。以下是测试的链接:http://jsfiddle.net/d9DzK/

在您的实际网站上更改选择时,会出现错误“goto function not defined”。您已经明确定义了该功能:

function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}

所以我的猜测是在页面加载打破javascript后在javascript控制台中显示的2个错误。通过查看抛出错误的行,我相信这是因为您将脚本包含在模板中。

我认为你有一个额外的p标签,你没有关闭导致错误。

尝试更改此内容:

<p><Script language="JavaScript"><br />

对此:

<Script language="JavaScript"><br />

如果这不能解决问题,那么破坏的html实体仍然很可能是罪魁祸首。