gpt4 book ai didi

javascript - 仅在特定页面上执行 js 的最佳方式

转载 作者:IT王子 更新时间:2023-10-29 03:00:15 28 4
gpt4 key购买 nike

我想知道仅在特定页面上执行 java 脚本代码的最佳方式是什么。

假设我们有一个基于模板的网站,为内容集重写规则,jquery 可用,它基本上看起来像这样:

  <!DOCTYPE html>
<html>
<head>
<script src="script.js"></script>
</head>
<body>
...
include $content;
..
</body>
</html>

内容“信息”包含一个按钮,我们希望点击时发生一些事情,内容“警报”应该在您将鼠标悬停在文本字段时给我们一条消息。

触发这些操作的最佳方式是什么,而不会因为找不到对象而出错?

选项一:使用window.location.pathname

 $(document).ready(function() {
if (window.location.pathname == '/info.php') {
$("#button1").click(function(){
//do something
})
}else if(window.location.pathname == '/alert.php'){
$("#mytextfield").hover(){
alert('message');
}
}

选项二:检查元素是否存在

$(document).ready(function() {
if ($("#button1").length > 0) {
$("#button1").click(function(){
//do something
})
}else if ($("#mytextfield").length > 0){
$("#mytextfield").hover(){
alert('message');
}
}

选项三:在加载的模板中包含脚本

//stands for itself

有更好的解决方案吗?还是我必须接受其中一种解决方案?

感谢您的经验、使用情况或与此主题相关的任何链接。

//编辑:

我可能选了一个不好的例子,实际的代码应该是这样的:

    mCanvas = $("#jsonCanvas");
mMyPicture = new myPicture (mCanvas);

如果 mCanvas 未定义,myPicture 构造函数获取 canvas 元素的上下文并抛出错误。

最佳答案

为您的 body 标签设置一个 class 属性。

<body class="PageType">

然后在你的脚本中..

$(function(){
if($('body').is('.PageType')){
//add dynamic script tag using createElement()
OR
//call specific functions
}
});

关于javascript - 仅在特定页面上执行 js 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9578348/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com