2016-04-26 109 views
0

我有一种情况,我通过CMS创建网站并使用页面包装。页面包装CSS/HTML等将适用于所有页面,所以如果我创建了一个自定义按钮,我称之为“启动募捐人”,此按钮出现在所有页面上。我想知道是否有JavaScript方法或其他可以隐藏其他页面或强制它只出现在问候页面中的其他方法,最好只在桌面上以手机显示的方式应用于桌面,但如果这使得它复杂化,我很好地将它隐藏在移动版本的其他页面上。如何将HTML元素隐藏在仅用于桌面的其他页面上?

Test Page < ==我的测试页在这里,如果你去“了解更多”选项卡并打开下拉菜单,启动募捐按钮将从它坐的任何地方拉下来。

现在CMS确实有创造各种条件语句的能力,但它是有史以来最令人困惑的事情,这里有一个例子:

Simple Tests 
If the test case matches, do one thing or do nothing: 
[[?xx[[S1:first_name]]xx::xxBobxx::Hi, Bob!::]] 
If the first_name is Bob, render "Hi, Bob!", if not, render nothing. 
If the test case matches, do one thing or do another thing: 
[[?xx[[S1:first_name]]xx::xxBobxx::Hi, Bob!::Hello.]] 
If the first_name is Bob, render "Hi, Bob!", if not, render "Hello." 

现在有超过100个S-标签,并没有他们特别说“隐藏”或类似的东西,所以它们需要一段时间才能通过其中每一个,因为它们具有非常通用的标题,所以同时我希望有某种解决方案来加快速度。

而他们的客户服务没有帮助大声笑,给了我上面张贴的代码的链接。

编辑。已经引起了我的注意,它有可能是CMS使用PHP,但是我有机会获得没有HTML文档的,所以我不能检查是否正在使用PHP标签。在页面包装,虽然,我可以调用HTML文件,我需要通过这个S-TAG命令:

[S63:3]

并将其拉所有的主体内容。所以这就是为什么我不知道它是否使用PHP。 CMS系统被称为Luminate Online(现在归Blackbaud所有)

下面是如何插入数据外观以及如何制作页面包装的图像。它在左边说HTML Body,但它不是,它基本上是一个适用于任何使用它的html页面的样式包装器,任何设置它的人创建了其他地方无法访问的内容,并且该人不再与我们在一起。

Page Wrapper

如果您需要任何额外的信息,请随时问!我会提供我能做的!

任何建议grealty赞赏!感谢您的时间。

+0

这是使用PHP? –

+0

我认为Luminate的内置代码是使用php,因为我只查看了他们构建的页面,而当我查看页面源代码时,其中没有任何条件代码出现 – Umeed

回答

2

这里是一个JavaScript的解决方案假设你的按钮有一个ID:

// Set your target url 
    var url = 'http://yourdomain.com/targeturl'; 

    if (document.URL == url){ 
     // If it is the target show the button 
     document.getElementById("x").style.display = 'block'; 
    }else{ 
     // If it is not the target page hide the button 
     document.getElementById("x").style.display = 'none !important'; 
    } 

一个CSS解决隐藏在所有设备宽度的按钮,除了桌面:

#x { 
     display: none; 
    } 
    @media (min-width: 992px) { 
     #x { 
     display: block; 
     } 
    } 

一定要改变"x"到按钮的ID。


这里是一个jQuery替代与您的特定网址和ID:

var url = "http://convio.cancer.ca/site/TR?fr_id=21959&pg=entry"; 
    if (window.location.href == url){ 
     $('#hmpgonly').css('display', 'block'); 
    } else { 
     $('#hmpgonly').css('display', 'none !important'); 
    } 

在该页面中会显示该按钮,所有的人就应该将其删除。我在页面加载后在你的控制台中测试了这个。

+0

感谢您的回答!我给出了''div''环绕'''''''''''hmpgonly'编码的'',并应用了代码,但没有运气 – Umeed

+0

再次尝试代码,但将警报添加到if语句以测试代码是否在正确的时间触发: 'alert(“这是正确的页面”);'在第一个块和'alert(“这不是正确的页面”);'在第二个块 –

+0

hmm看起来像是干扰了js。 “更多导航选项”在不应该显示的时候显示,并且当它假设被切换时,下拉菜单在移动设备中可见。大声笑我一定在添加这段代码之前搞砸了一些东西。我将不得不看看发生了什么 – Umeed

1

看起来像你正在使用PhP,所以你可以做这样的事情。

展会上所有的网页,但 “/网站/ TR /活动/一般/” 一次

if ($_SERVER['SCRIPT_NAME'] != '/site/TR/Events/General/index.php') { 
    ///code here 
} 

展会上只是 “/网站/ TR /活动/一般/” 页面

if ($_SERVER['SCRIPT_NAME'] == '/site/TR/Events/General/index.php') { 
    ///code here 
} 

我喜欢使用$_SERVER['SCRIPT_NAME'],因为它显示了消除动态路径问题的基本路径,如/dir/?this=that&that=this

+0

有趣!我不熟悉php,但是我打入页面封装器的html正在使用s-tag代码[[S63:3]],所以有可能使用php我只是不知道,因为我不'无法访问这些文件,它只是输入数据和它。页面包装也是内置的,但它调用我的头元素的CSS/JS,我可以以某种方式将此代码应用到单独的PHP文档,并从那里调用它? – Umeed

+0

我用更多的信息更新了我的问题。试图尽可能清楚地说明问题。 – Umeed

相关问题