gwt锚定标签未锚定

gwt锚定标签未锚定,gwt,anchor,Gwt,Anchor,为什么浏览器不滚动到定位点? 网址: 是否因为锚定是在页面加载完成后创建的,所以浏览器在尝试滚动到锚定时看不到锚定?尝试以下操作: this.anchor.setName("myAnchor"); this.add(this.anchor); location.hash = '#myAnchor'; 是的,你是对的,你的锚是在页面加载之后创建/插入的,所以……你可以尝试使用Element.scrollIntoView(),它不仅可以滚动窗口,而且可以滚动DOM层次结构中包含该元素的任何可滚动容

为什么浏览器不滚动到定位点?
网址:

是否因为锚定是在页面加载完成后创建的,所以浏览器在尝试滚动到锚定时看不到锚定?

尝试以下操作:

this.anchor.setName("myAnchor");
this.add(this.anchor);
location.hash = '#myAnchor';

是的,你是对的,你的锚是在页面加载之后创建/插入的,所以……

你可以尝试使用Element.scrollIntoView(),它不仅可以滚动窗口,而且可以滚动DOM层次结构中包含该元素的任何可滚动容器。

必须重写onLoad方法,并在那里调用scrollIntoView,否则,它将尝试滚动到尚未添加到DOM的对象

public class Foo extends Widget
{
  Foo(){
  }

  @Override
  protected void onLoad(){
    super.onLoad();
    getElement().scrollIntoView();
  }
}

作用域中location.hash在哪里?位置在范围内,但它只有访问器方法,没有直接访问或设置器方法。@antony:你是说它没有;我不为你工作。对我来说是的。完整地说,它是“window.location.hash”(参见和)。它可以被读取/分配。啊,你跳到了javascript上。@anthony:呃,你编写的所有代码都是javascript,不是吗?如果您希望哈希值基于URL中提供的哈希值是动态的,那么在创建锚之后设置“location.hash=location.hash;”。@anthony:对不起,我怎么会错过这个。如果您的定位点在呈现到浏览器之前已定义,它应该可以工作。是否检查HTML标记?你应该会看到一个“看起来很有希望,我今晚会试试。我还没有让它起作用,但我还不确信我没有做错什么。我正在尝试滚动到一个尚未添加到DOM的元素。重新构造一些代码。。。
public class Foo extends Widget
{
  Foo(){
  }

  @Override
  protected void onLoad(){
    super.onLoad();
    getElement().scrollIntoView();
  }
}