我想在访问者进入网站之前向他们显示一条消息,然后允许他们使用按钮继续访问主网站。我也不想移动主要站点的位置。
与此类似:
<script>
function continue() { /* function to continue loading site */ }
</script>
<p>This is a message. <button onclick="continue();">I agree</button></p>
<script>
//stop loading what's below when someone enters the site, and display only the message
</script>
<html>
<body>
<p>This is my main site with a lot of content.</p>
</body>
</html>
我不能只覆盖主要站点,我不希望访问者在阅读消息时运行任何功能。
有人能指出我正确的方向吗?
答案 0 :(得分:0)
仅显示覆盖整个页面的大div
。
<html>
<head>
<style>
.message{
position: fixed;
top: 0;
bottom:0;
left: 0;
right: 0;
z-index: 1000;
background-color: grey;
}
</style>
</head>
<body>
<div class="message" id="message">
<!-- message -->
Message<br/>
<button onClick="document.getElementById('message').style.display='none';">
Continue to Site
</button>
</div>
<div class="content">
<!-- Main content -->
Main content
</div>
</body>
</html>
答案 1 :(得分:0)
您无法通过JS停止加载页面。在某些情况下,JS可以停止呈现页面。但是它仍然可以被机器/显示源读取。
如果您不想掩护网站,则可以通过style="display:none"
隐藏某些元素。
如果页面必须是机器无法读取的,则必须在服务器端实现这一点:
<?php
session_start();
if(!empty($_POST['policy'])) $_SESSION['accepted_policy'] = true;
if(empty($_SESSION['accepted_policy'])) {
?><form action="?" method="post">
<input type="checkbox" value="1" name="policy"> I've accepted ...<br />
<input type="submit" > </form>
<?php die();
} ?>
normal page
如果您不想在continue()
之前执行任何JS,则可以通过此函数运行$.ready()
答案 2 :(得分:0)
使用window.stop()
阻止窗口进一步加载。但是,这不适用于Internet Explorer或Microsoft Edge。
<html>
<head>
</head>
<body>
Content that will be shown
<script>
window.stop();
</script>
Content that will not be shown
</body>
</html>