在所有站点加载javascript,除了两个页面
Load a javascript in all site except two page
我在header部分有一个外部javascript,像这样:
<head>
<script type="text/javascript" src="myscript.js"></script>
</head>
这个javascript在网站的每个页面上创建了一个cookie法律的横幅。该横幅仅在您第一次进入网站时显示。
我想在所有网站加载这个javascript除了两个页面。我使用Wordpress和Genesis Framework。
我该怎么做呢?
要以典型的Wordpress方式加载脚本,您必须检查当前页面的ID。
// Main Scripts
function register_banner_js() {
if (!is_admin()) {
/* Get id of current page*/
$page_id = get_queried_object_id();
/* Compare the non-relevant page's id with the current page's id, if they don't match, enqueue your banner script*/
$ids = array(page_id_1, page_id_2);
if (!in_array($page_id, $ids)){
wp_register_script('bannerscript', 'path/to/your/bannerscript.js', 'jquery', null, TRUE);
wp_enqueue_script('bannerscript');
}
}
}
add_action('wp_enqueue_scripts','register_banner_js')
将代码放入您的functions.php
。请确保检查您的页面的id,并将它们放在ids
数组中,该数组包含您的横幅不应该加载的所有相关页面的id。
如果你想了解更多关于Javascript enqueueing检查Wordpress Hook wp_enqueue_script。
尝试在页面模板的<head>...</head>
中添加以下PHP,其中
<script src="bannerscript.js"></script>
通常写成:
<?php
$nobanner = array('page1','page2');
$page = $_SERVER['SCRIPT_NAME'];
$page = str_replace('/', '',$page);
if (!in_array($page,$nobanner)) {
echo '<script src="bannerscript.js"></script>';
}
?>
脚本检查URI,验证页面不是不应该显示横幅的页面,然后像往常一样包含横幅请求。
在任何不应该显示横幅的页面上-在上面的例子中,即page1
和page2
-横幅请求从未包含在<head>...</head>
页面中。
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 单击时切换两个图像
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 基于两个条件退出While循环
- 如何在这里将两个值最低的数字相加
- 组合两个javascript函数
- 如何使用offer/answer交换来自两个对等连接的流
- jsf中两个字符串的颜色代码差异
- 加载两个具有相同父密钥名称的json文件
- 在Qualtrics中,介绍如何动态连接两个滑块
- 访问$.ajax()函数中的两个不同数组
- 检测是否对同一站点打开了两个浏览器窗口
- 在c中按下一个按钮,打开两个新的窗口/选项卡(不同的外部站点)
- 两个页面,一个jQuery脚本,一个站点出现错误
- Javascript一个站点上有两个计算器
- 如何在Angular中让两个控制器执行相同的操作,但改变站点的视觉效果
- 在所有站点加载javascript,除了两个页面