如何打开页面然后仅在从其他页面打开页面时运行脚本

时间:2012-01-17 02:08:53

标签: javascript

如果页面是从其他页面打开的,那么如何在页面上运行脚本?

我有这个页面元素:

    <div id="Devotion_alert"></div>

我在onclick上添加了一个跨度。

    var show_devotion_alert = '<span style="cursor:pointer;" onclick="open_livemass();"><br/>'+devotion_name+' '+time_info+'<br/>('+devotion_channel.name+')</span>';
    $('#Devotion_alert').html(show_devotion_alert);

当用户点击我要运行脚本的元素时:

function open_livemass() {
    window.location.href = 'livemass_RECORDED.php';
    // want to select elements on the new page and load element content
}

当新页面加载时,我想选择页面元素和加载元素内容。如果用上一页的鼠标点击打开新页面,我只想这样做。

4 个答案:

答案 0 :(得分:0)

一种方法可能是使用隐藏字段提交表单。然后,如果接收页面看到设置了隐藏字段值,则可以加载元素内容。

答案 1 :(得分:0)

如果您尝试在javascript中执行此操作,可以尝试检查document.referrer,但要注意它并不总是存在。

答案 2 :(得分:0)

这取决于您希望代码的可靠性。您可以添加一个cookie open_livemass,然后检查它在页面上的存在/值。当不再需要时,您将使cookie过期

答案 3 :(得分:0)

行。发现最实用的解决方案是在URL中发送变量来告诉新页面要做什么。如果变量不存在,则页面将与直接打开的页面相同。如果变量存在,javascript函数将加载页面元素。

在推荐人页面上点击我打开新页面:

    window.location.href = 'livemass_RECORDED.php?show_next='+show_next+'&idx='+idx;

在livemass_RECORDED.php页面中,我阅读了变量并填写了必要的元素。

<?php 
    $show_next = $_REQUEST['show_next'];
    $channel_idx = $_REQUEST['idx'];
?>
    <script>
        var show_next = "<?php echo $show_next; ?>";
        var channel_idx = <?php echo $channel_idx; ?>;
        alert (' LIVEMASS show next '+show_next+' channel '+channel_idx);
        if ( show_next.search(/Devotion/i) != -1 ) {
        }
        else if ( show_next.search(/Mass/i) != -1 ) {
        }
    </script>