草庐IT

Manipulating_the_browser_history

全部标签

javascript - History API 和 History.js 后退按钮问题

我正在通过Ajax加载页面。当用户单击链接时,页面已成功加载AJAX,但当用户单击后退按钮时,页面会重新加载初始页面。所以场景是这样的。载入初始页面(index.php)用户点击链接页面加载成功点击后退按钮初始页面现在显示两次。这是标记。$(function(){//PreparevarHistory=window.History;//Note:WeareusingacapitalHinsteadofalowerhif(!History.enabled){//History.jsisdisabledforthisbrowser.//Thisisbecausewecanoptionall

javascript - ie9及以下版本使用History.js页面刷新返回首页

我建立了一个网站,该网站使用History.js插件通过AJAX从一个页面导航到另一个页面并相应地更新URL。除IE外,一切正常;当您刷新页面时,它实际上是从您来到的第一页加载内容,而不是当前页面的内容。在“体面的”浏览器中,它不会从任何页面加载内容,它只会加载该URL的整个页面,这是我的IE应该做的。我认为它不明白如何处理散列。如果您访问http://www.crownacre.voyced.com/contact-us/它工作正常,但是当你访问http://www.crownacre.voyced.com/#contact-us/时(使用哈希)它没有。如果它在路径名中检测到#,我尝

javascript - Rails 页面特定的 JavaScript : What's the best practice?

任何了解RailsAssets管道的人都知道默认行为是将list中包含的所有JavaScript文件卷成一个大的、笨拙的、不幸的球。ALLTHEJAVASCRIPT->application.js这意味着如果您有一个JavaScript文件foo.js,它不仅会为Controllerfoo到达的页面激活,还会为所有其他页面激活。这很容易解决,但我想知道最好的方法是什么。我最初让application.html.erb使用JavaScript标记将当前Controller和操作传递给我应用中的JavaScript。window.givenController="";window.give

javascript - 如何追踪: "The sanitizer was unable to parse the following block of html: <32"?

Error:[$sanitize:badparse]Thesanitizerwasunabletoparsethefollowingblockofhtml::778:50)atScope.$digest(http://localhost:3000/assets/angular.js?body=1:12396:29)atScope.$delegate.__proto__.$digest(:844:31)atScope.$apply(http://localhost:3000/assets/angular.js?body=1:12661:24)我知道这是因为以下问题:http://erro

javascript - $browser.$$checkUrlChange 在 Jasmine 测试中未定义

我有以下测试:it('shouldmaintainabindbetweenthedataatthe$scopetothedataattheingredientsService',function(){$scope.addFilters('val1',$scope.customFiltersData,'filter1');$scope.$digest();expect($scope.customFiltersData).toEqual(ingredientsService.filters());});我收到以下错误:TypeError:undefinedisnotafunctionatS

javascript - Vis.js 网络 : how to add a node on click inside the canvas?

Manipulationmethodsofvis.js仅包括addNodeMode(),但不包括addNode()之类的东西。我想知道是否有一些不错的方法可以在单击时创建节点。可能是通过操纵数据而不是网络本身?当然可以去network.on('click',function(params){if((params.nodes.length==0)&&(params.edges.length==0)){network.addNodeMode();//doesn'tadd,onemoreclickneeded//#generateclickinthesameplace.Useparams.p

javascript - Selenium 网络驱动程序 : firefox headless inject javascript to modify browser property

我正在尝试弄清楚如何将seleniumwebdriver与python或java结合使用来注入(inject)javascript以修改浏览器属性/属性。我的最终目标是获得类似于this的东西使用selenium和firefox,因为它是更开放和灵活的选择。Puppeter和chromium文件test.js:constpuppeteer=require("puppeteer");(async()=>{constbrowser=awaitpuppeteer.launch({args:["--no-sandbox"],headless:true,});constpage=awaitbro

javascript - 脚本错误 : Unable to modify the parent container element before the child element is closed

脚本错误:在关闭子元素之前无法修改父容器元素。我应该怎么办?我单击"is",但未显示我的网页。在我的产品页面代码的开头,我有:http://pastebin.com/iiUfMq1v除IE8外,所有浏览器都运行良好,IE8是唯一会抛出任何类型错误的浏览器。有什么想法吗? 最佳答案 请检查这些链接http://answers.microsoft.com/en-us/ie/forum/ie8-windows_other/html-parsing-error-unable-to-modify-the-parent/e64759e0-d34

javascript - leaflet.js : Fire event when setView() has finished the animation. 这怎么可能?

我目前正在使用leaflet.js,我现在正在网上搜索很多,以找出:如果有一个事件,可以在异步函数setView()的动画结束后触发。这是我尝试过的:map.setView([lat,lon],12,{pan:{animate:true,duration:0.5},zoom:{animate:true},animate:true}.on('ready',function(e){console.log("animationfinished!");});setView-command完美运行,但是本地图动画准备就绪时应该触发的函数不起作用。有没有人有解决办法?

javascript - 谷歌浏览器 : Focus issue with the scrollbar

我正在使用jQuery1.3.2。表单中有一个输入字段。单击输入字段会打开一个div作为下拉列表。div包含项目列表。由于列表很大,div中有一个垂直滚动条。要在外部单击时关闭下拉菜单,输入字段上有一个模糊事件。现在的问题是:在chrome(2.0.172)中,当我们点击滚动条时,输入框会失去焦点。现在,如果您在外部单击,则下拉菜单不会关闭(因为当您单击滚动条时输入已经失去焦点)在Firefox(3.5)、IE(8)、opera(9.64)、safari()中,当我们点击滚动条时,输入框不会失去焦点。因此,当您在外部单击时(单击滚动条后),下拉菜单将关闭。这是预期的行为。所以在chro