我的一个博客帖子中有一个来自外部网站的<iframe>
元素,其中包含textarea
。之后我已经添加了几个帖子。但是当我打开网站时,博客会向下滚动到<iframe>
因为它拥有焦点。如何防止这种情况,以便在博客打开时,可以看到最新的帖子?
这就是我在博文中添加iframe
的方式。
<iframe border="no" allowtransparency="true" height="500" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="some external site reference" width="100%">
</iframe>
仅供参考,博主拥有dynamic views
模板。
我尝试将scrollTo()
,focus()
用于最新的帖子标题。但它没有用。我发现,即使我在$(document).ready()
内打印文章标题的数量,它也会返回0.页面完全加载后,如果我转到控制台并重新打印长度,那么它只会给出10.相当困惑关于博客如何处理其帖子。
<script> $(document).ready(function(){ console.log( $('div.article-header').length ); // returns 0 }); </script>
更新
看起来Blogger动态视图使用AJAX加载博客帖子。因此,在实际博客内容完全加载之前,会调用文件ready()。 &#39; Jeffery To&#39;下面给出了一个很好的解释:
prettyPrint() doesn't get called on page load
感谢。
答案 0 :(得分:0)
博客标题中的tabindex = 1会不够?
或者添加?
$(function() {
$("h1").first().focus()
});
H1是你的页面标题
[编辑]
不是博主将焦点放在这个textarea上,而是这个iframe中的代码。由于跨域脚本编写,防止此行为似乎是一个巨大的痛苦。
我的建议?通过用简单的超链接替换iframe来改变你的帖子。
答案 1 :(得分:0)
$('body').scrollTo('#foobar');