基于iframe的日期和时间的动态网址?

时间:2016-10-02 11:34:27

标签: javascript html iframe

我正在尝试创建一个动态iframe,用于加载以yyyy-mm-dd格式命名的页面,并在末尾添加+ AM和+ PM。 示例:https://example.com/display/stuff/2016-10-02+AM

这就是我到目前为止。我没有得到任何语法错误,但它不会呈现。

<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
    var today = new Date();
    var dd = today.getDate;
    var mm = today.getMonth;
    var yyyy = today.getFullYear;
    var h = h > 12 ? h - 12 + 'PM' : h + 'AM';
    if (dd < 10) {
        dd = '0' + dd;
    }
    if (mm < 10) {
        mm = '0' + mm;
    }
    var today = yyyy + '-' + mm + '-' + dd + '+' + h;
</script>
document.body.innerHTML = ('<iframe src="https://example.com/display/stuff/\'today'/"'</iframe>')
</body>
</html>

4 个答案:

答案 0 :(得分:0)

试试这个:

<script type="text/javascript">
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth() + 1;
    var yyyy = today.getFullYear();
    var tmpHour =  today.getHours();
    var h =tmpHour > 12 ?  tmpHour - 12 + 'PM' :  tmpHour + 'AM';
    if (dd < 10) {
        dd = '0' + dd;
    }
    if (mm < 10) {
        mm = '0' + mm;
    }
    var dateString = yyyy + '-' + mm + '-' + dd + '+' + h;

   var iframe = document.createElement('iframe');
   iframe.setAttribute('src', 'https://example.com/display/stuff/' + dateString);
   document.body.appendChild(iframe);
</script>

你有几个语法错误,大多数时候你忘了调用Date函数 - 你没有添加();

也知道月份总是返回-1(从0到11而不是1到12)

答案 1 :(得分:0)

你搜索类似的东西?:

&#13;
&#13;
    var today = new Date();
    var dd = today.getDate;
    var mm = today.getMonth;
    var yyyy = today.getFullYear;
    var h = h > 12 ? h - 12 + 'PM' : h + 'AM';
    if (dd < 10) {
        dd = '0' + dd;
    }
    if (mm < 10) {
        mm = '0' + mm;
    }
    var today = yyyy + '-' + mm + '-' + dd + '+' + h;
document.body.innerHTML = ('<iframe src="https://example.com/display/stuff/' + today + '"></iframe>')
&#13;
<!DOCTYPE html>
<html>
<body>

</body>
</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你遗漏了一些东西。

date.getDate

这是一个函数,所以应该像

一样调用
date.getDate()

您也可以在<script>标记之外调用您的javascript代码,但不会对其进行评估。

这是半工作代码:

&#13;
&#13;
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth();
    var yyyy = today.getFullYear();
    var h = h > 12 ? h - 12 + 'PM' : h + 'AM';
    if (dd < 10) {
        dd = '0' + dd;
    }
    if (mm < 10) {
        mm = '0' + mm;
    }
    var today = yyyy + '-' + mm + '-' + dd + '+' + h;
    document.body.innerHTML = '<iframe src="https://example.com/display/stuff/'+ today+'"></iframe>';
</script>
</body>
</html>
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

您在脚本标记之外调用document.body.innerHTML。所以它不会被解析为JS代码。

试试这个:

<!DOCTYPE html>
<html>
<body>  
<script type="text/javascript">
    var today = new Date();
    var dd = today.getDate;
    var mm = today.getMonth;
    var yyyy = today.getFullYear;
    var h = h > 12 ? h - 12 + 'PM' : h + 'AM';
    if (dd < 10) {
        dd = '0' + dd;
    }
    if (mm < 10) {
        mm = '0' + mm;
    }
    var today = yyyy + '-' + mm + '-' + dd + '+' + h;
    document.body.innerHTML = ('<iframe src="https://example.com/display/stuff/\'today'/"'</iframe>')
</script>
</body>
</html>