草庐IT

pushstates

全部标签

javascript - 通过 history.pushState 更改页面时如何在 google chrome 扩展程序中插入内容脚本?

我正在为网站创建一个小的googlechrome扩展,我想更改特定页面上的一些html。问题是网站通过ajax加载他的内容,并大量使用history.pushStateAPI。所以,我添加了这个东西来体现:"content_scripts":[{"matches":["http://vk.com/friends"],"js":["js/lib/jquery.min.js","js/friends.js"],},]当我第一次打开页面或重新加载它时一切正常。但是当我在网站页面之间导航时,chrome不会在“/friend”页面上插入我的脚本。我认为发生这种情况是因为URL实际上没有改变。他

javascript - AngularJS 添加到浏览器历史记录而无需重新加载页面且无需 HTML5 pushstate

我有一个搜索页面,允许用户深入分类和/或输入搜索词。我想让用户能够使用后退按钮撤消这些操作。使用AngularJS,我怎样才能让这个页面为这些操作中的每一个添加条目到浏览器历史记录中。我不能使用HTML5pushstate。 最佳答案 我发现我可以通过使用here中有关reloadOnSearch的答案更改查询字符串参数而无需重新加载页面来做到这一点|:$routeProvider.when('/items',{controller:'ItemsCtrl',templateUrl:'/templates/items',reloadO

javascript - pushState/popstate 的奇怪问题 - 初始页面似乎是 "pushed"两次

我遇到了一个关于pushState/popstate的奇怪问题,我的初始页面似乎被保存了两次。如果没有例子,有点难以解释。像这样:当前页面是www.bing.com将我的URL复制/粘贴到URL栏并加载页面点击页面上的链接(此链接会触发AJAX请求,然后操作DOM以显示检索到的数据。)按后退按钮将我带到与步骤2相同的页面再次按下后退按钮,但我仍然在与步骤2/4相同的页面上再次按后退按钮,我会回到www.bing.com如您所见,我需要按两次后退按钮才能返回www.bing.com,而它应该只需要按1次。我的页面的简短说明(代码在页面底部):当页面加载时,下拉选择的初始列表通过AJAX检

javascript - 当使用来自 react-router-dom 的 `Failed to execute ' 时,为什么 'History' pushState' on `Link` `

我看过类似的帖子,但找不到答案,就我而言,我正在尝试传递来自的操作:addExpense=(expense)=>{console.log('HelloFromAddExpenseForm');}到/create我渲染的路线组件CreateExpense链接已呈现,但当我点击它时,控制台出现错误:UncaughtDOMException:Failedtoexecute'pushState'on'History':function(expense){console.log('HelloFromaddExpense');}couldnotbecloned这是为什么?解决方法是什么?我更新的代

javascript - history.pushState() 改变查询值

如果我有一个正在使用函数history.pushState({},"",link);更改的链接,例如我的link是page.php?value=1&value2=2有没有办法只用pushState()函数改变value2而不是改变整个链接? 最佳答案 如果您尝试做的是更改URL而不向历史对象添加额外的条目,您可以尝试replaceState。history.replaceState({value:1,value2:X},"title","page.php"); 关于javascript-

javascript - history.pushstate 不更新标题

我正在使用AJAX加载页面的主要内容。使用history.pushstate(Object:State,String:Title,String:URL)-我能够更新地址栏中的URL并返回历史记录。但是title参数似乎没有效果。窗口标题和“历史列表”中条目的标题都没有改变(也许两者都是一样的)。我做错了什么?更新:title参数在chrome中被忽略。http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-June/026827.html 最佳答案 title参数不是窗口标题

子域上的 javascript pushState 抛出异常

在我的js文件中:window.history.pushState('','',slug);我知道pushState方法的安全限制:ThenewURLmustbeofthesameoriginasthecurrentURL;otherwise,pushState()willthrowanexception.但是,在我的网站中,我使用了一个域:www.mydomain.com,其中pushState工作正常。但是当我在我的子域subdomain.mydomain.com上调用该方法时,它会抛出一个奇怪的异常:UncaughtSecurityError:Failedtoexecute'pu

javascript - 可以使用 pushState

有谁知道确定是否可以使用pushState的库?我在用这个:if(window.history.pushState){window.history.pushState(null,document.title,path);}else{location.pathname=path;}但我刚刚发现Safari5.0.2中存在一个错误,导致即使通过上述测试也无法正常工作:http://support.github.com/discussions/site/2263-line-links-broken.我在想可能还有其他陷阱,可能有人已经找到并解决了这些问题,但我还没有找到任何东西。编辑:@新月

javascript - 后退按钮/退格键不适用于 window.history.pushState

我为我的网站制定了一个解决方案,其中包括使用ajax来呈现网站上的一般信息。为此,每当用户使用window.history.pushState方法加载某些特定内容时,我都会更改URL。但是,当我按退格键或按后退键时,旧网址的内容未加载(但加载了网址)。我已经尝试了SO上提出的几种解决方案,但都没有成功。这是其中一个ajax函数的示例:$(document).ready(function(){$(document).on("click",".priceDeckLink",function(){$("#hideGraphStuff").hide();$("#giantWrapper").s

javascript - 使用 AJAX/jQuery 加载页面和 history.pushState() 方法保留浏览器 "back"按钮功能

我想在通过AJAX(jQueryload方法)加载页面并通过history.pushState将URL推送到浏览器栏时保留后退按钮功能方法。当单击浏览器后退按钮并且第一次单击仅恢复以前的URL但不加载以前的页面时,就会出现问题。到目前为止,这是我的代码:$(function(){varprofile_url="/profile";$('#click_button').click(function(){$('#main_content').load(profile_url);history.pushState({profile:profile_info},"profile",profil