小编Joe*_*app的帖子

window.location = #anchor在IE中不起作用

在这张地图上:

http://web.pacific.edu/documents/marketing/campus-map/version%202/stockton-campus-2.0.htm

我在顶部有一个锚点,我希望页面在单击链接时跳转到锚点.

我正在使用

window.location = '#top';
Run Code Online (Sandbox Code Playgroud)

它在FF,Opera和Chrome中的效果与预期相同,但在IE 7中没有.

我已经尝试了所有的排列,比如window.location.hash和window.location.assign()以及scrollIntoView(true)和focus().

如何让它在IE中运行?

编辑:似乎没有什么工作,这让我觉得它不是语法,而是关于JS的东西...这里是click事件处理程序......可能是因为它返回false?我正在抓稻草.

// Click handler for each location link
$('#index a').click(function()
{
    hideMarkers();
    location.href = location.href + "#top";
    var marker = showMarker( $(this).attr('data-id') );
    GEvent.trigger( marker, "click" );
    return false;
});
Run Code Online (Sandbox Code Playgroud)

编辑:对于通过HTTP"Location"标题页面重定向加载的页面上的IE7和IE8中的window.location.hash赋值.解决方案是返回一个带有Javascript的页面,它本身将执行重定向.请参阅Joe Lapp的答案.

javascript anchor hash internet-explorer window.location

3
推荐指数
2
解决办法
2万
查看次数

如何强制 Flutter/Dart 要求类型?

我习惯于依靠编译器来捕获不兼容的类型错误。默认情况下,Dart 仅在我记得指定类型时才提供此功能。如果我忘记在代码中包含类型,那么我不会得到类型检查。

如何让 Flutter/Dart 编译器在以下代码中的指示行上出错?尽管充满了类型错误,但这段代码编译得很好。

class Foo {
  String foo() {
    return "foo";
  }
}

class Bar {
  String bar() {
    return "bar";
  }
}

f() { // would like a missing return type error here (e.g. void)
  print("returns nothing");
}

void g(x) { // would like a missing parameter type error here...
  print(x.bar); // ...so this isn't a missing property at runtime
}

void h() {
  String a = f(); // would like this to error...
  print("$a");  // ...instead …
Run Code Online (Sandbox Code Playgroud)

typechecking dart flutter

3
推荐指数
1
解决办法
1582
查看次数

将泛型类型传递给 Typescript 中的 mixins

我正在尝试在 Typescript 中制作通用类型的 mixin。我意识到从开发版本 2.8.0 开始,Typescript 还没有直接支持这个,每个问题 #13979。我正在寻找解决方法。我不在乎 mixin 本身有多丑,只要应用 mixin 是干净和可读的。

我需要一些 mixin 中的装饰器支持,所以我将 mixin 定义为嵌套类,以这个有用的 SO answer为模型。更常见的方法是返回类表达式。我还没有注意到在嵌套类方法中丢失了任何功能。

我特别想要一个在外部 mixin 中指定的泛型类型来确定在更多嵌套 mixin 中找到的类型,至少在外部 mixin 之外查看。我意识到可能需要一种更彻底不同的方法来处理 Typescript 可能无法通过嵌套函数调用向下传递外部函数中定义的类型的可能性。

鉴于以下代码:

interface ConcreteClass<C> { new (...args: any[]): C; }

class Entity {
    name = "base";
}

class Broker<E extends Entity> {
    static table = "entities";
}

interface BrokerType<E extends Entity> extends ConcreteClass<Broker<E>> {
    table: string;
}

class IdEntity extends Entity {
    id = 1;
}

function …
Run Code Online (Sandbox Code Playgroud)

generics mixins typescript

2
推荐指数
1
解决办法
2422
查看次数

如何在 JAMstack 解决方案中代理 API 请求?

我正在开发一个几乎完全静态的网站。我使用生成器来创建所有的 HTML。

但是,我的网站是嵌入在其页面中的商店的前端。我有一个代表浏览器到后端存储的 node.js 服务器代理请求。它所做的只是提供购物车中的商品数量,以便我可以在我网站的所有页面上更新数量。那是因为浏览器不允许跨域脚本。我的服务器必须充当客户端和商店之间的代理。

(嵌入式商店是从商店的网站加载的,因此它本身不需要代理。)

我希望最终部署到 Netlify 或一些类似的 JAMstack 提供商。但我不知道如何在 Netlify 上代理。

这个问题的标准解决方案是什么?或者 JAMstack 解决方案无法使用代理?是否有解决此问题的 JAMstack 提供商?

proxy cross-site static-site netlify jamstack

1
推荐指数
1
解决办法
784
查看次数