gpt4 book ai didi

javascript - Kindle 实验性浏览器将网页中包含的所有 javascript 提前 7 小时错误时间 — 如何抵消?

转载 作者:行者123 更新时间:2023-11-30 19:08:33 25 4
gpt4 key购买 nike

我通过他们的“实验浏览器”将旧 Kindle 回收到迷你气象站。我创建的网页显示日期和时间以及我放入 iframe 中的天气数据,以便与 Kindle 浏览器一起使用。在我使用 Kindle Voyage 浏览器遇到奇怪的问题之前一直工作得很好。

这是我在自定义 iframe 中用于天气的内容。

https://forecast.io/embed/#lat=39.742043&lon=-104.991531&name=Denver

我的第一个奇怪线索是这个日期和时间的时间 javascript snippet我之前在其他 Kindle 上成功使用过 +7 小时。换句话说,当时间是下午 4 点时,浏览器会告诉页面中的所有 javascript 内容其呈现现在是晚上 11 点,依此类推。

我仔细检查了 Kindle 时间,它是正确的。然后我尝试通过手动更改整个 Kindle -7 小时的时间来抵消时间,但它并没有改变浏览器问题。

我最终调整了日期和时间 javascript 代码段以将时间偏移 7 小时以修复时间显示。

但是,Kindle Voyage 的浏览器也将我的 iframe 中的天气提前 7 小时偏移,并导致 iframe 中的天气提前 7 小时。它会导致天气代码在下午 5 点之后变得不稳定,因为浏览器随后让它相信它是第二天(提前 7 小时)。我无法直接访问任何代码来抵消时间,因此我需要以某种方式抵消我的网页或服务器上的 7 小时。

我尝试使用各种 SetEnv TZ 时区更改 .htaccess 文件中的时区,但这对 javascript 及时输出和 iframe 内的天气没有影响。

是否有一种方法可以使用 javascript 强制页面中的所有 javascript 偏移浏览器报告的时间?或者有其他方法可以解决这个问题吗?

我很难过。


更新/编辑-

从来没有想出答案,所以我创建了一个时间敏感的 javascript,我将其偏移 7 小时以在天气图上叠加不同的日期。这是我使用的一些代码片段,以防有人好奇。我旋转了所有内容,因为出于某些原因,亚马逊现在也不允许您在 Voyage 上以横向模式查看浏览器,所以我只是将整个页面放在一边。

从丹佛时间下午 5 点到午夜,叠加层处于事件状态。如果您注意到代码中的时间 0 到 6,那是因为我不得不将时间调回 7 小时,直到第二天开始。我还不得不将日子往后移,因为 Kindle Voyage 浏览器奇怪的时间偏移导致天气预报将所有日子都往后移。它很草率,可以简化,但它确实有效。

CSS -

p {
white-space: nowrap;
font-size: 70px;
word-spacing: 91px;
transform: rotate(90deg);
}

jQuery/Javascript-

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var d = new Date();
if(d.getHours() >= 0 && d.getHours() <= 6 ){
/* Greater than or equal to 5PM (5PM+7=midnight (0) and less than or
equal to 11PM+7=6AM (6) */
$(".amazonworkaround").show();
}
else {
$(".amazonworkaround").hide();
}

});
</script>

和-

<script>
var d = new Date();
var weekday = new Array(7);
weekday[0] = "Now Sun Mon Tue Wed Thu Fri Sat";
weekday[1] = "Now Mon Tue Wed Thu Fri Sat Sun";
weekday[2] = "Now Tue Wed Thu Fri Sat Sun Mon";
weekday[3] = "Now Wed Thu Fri Sat Sun Mon Tue";
weekday[4] = "Now Thu Fri Sat Sun Mon Tue Wed";
weekday[5] = "Now Fri Sat Sun Mon Tue Wed Thu";
weekday[6] = "Now Sat Sun Mon Tue Wed Thu Fri";

var n = weekday[d.getDay()];
document.getElementById("dayfix").innerHTML = n;
</script>

最后——

<div class="amazonworkaround" style="position: absolute; top: 0px; left: 625px;
width: 85px; height: 1800px; background-color: white; padding-left: 0px;
z-index: 101;"><p id="dayfix"></p></div>

最佳答案

您是否尝试过重启 Kindle?我的都没有这个问题。

I've attempted changing the timezone in the .htaccess file with various SetEnv TZ timezones but it has no affect on the javascript output in time nor the weather within the iframe.

那是因为 JavaScript 时区完全由客户端设置。

I rotated everything because for some reasons Amazon also now doesn't allow you to view the browser in landscape mode on the Voyage

如果你能越狱你的kindle,我真的推荐WebLaunch,它允许你显示一个没有地址栏的网页并且还有横向模式(注意Kindle的浏览器不会喜欢这个并且认为它仍然是纵向的模式会导致响应式网页出现问题,但可以使用以下 CSS 修复)

html, body {
margin: 0;
width: 934px;
height: 700px;
}

关于javascript - Kindle 实验性浏览器将网页中包含的所有 javascript 提前 7 小时错误时间 — 如何抵消?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58739586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com