我正在尝试创建一个动态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>
答案 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)
你搜索类似的东西?:
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;
答案 2 :(得分:0)
你遗漏了一些东西。
date.getDate
这是一个函数,所以应该像
一样调用date.getDate()
您也可以在<script>
标记之外调用您的javascript代码,但不会对其进行评估。
这是半工作代码:
<!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;
答案 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>