标签: browser-history

AJAX load 和history.pushState 的建议顺序是什么?

例如,在 jQuery 中,设置一个链接以将某些内容加载到某个区域中,我应该在调用 History.pushState 之前加载内容吗?

$('#link').click(function () {
    $('#region').load('regionContent', function () {
        history.pushState(null, null, 'newUrl');
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

或者我应该在调用history.pushState后加载内容?

$('#link').click(function () {
    history.pushState(null, null, 'newUrl');
    $('#region').load('regionContent');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

前者对我来说似乎更可取,因为我觉得在内容改变之前 URL 不应该改变,但我更经常看到后者(例如https://github.com/blog/760-the-tree-slider) ,所以我想知道哪一个被认为是最佳实践。

javascript browser-history

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

如何在没有调试工具的情况下查看浏览器发送的所有HTTP Get请求?

所以,我有一些页面做了一些ajax和jsonp(即注入)来获取数据.我想知道如何在不使用调试工具(如firebug)的情况下查找我所创建的请求URL.等,即浏览器的GET请求的历史记录.谢谢

ajax get httprequest browser-history

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

为什么在.gwt.xml文件中更改"module - > rename to"属性会出错

我可以通过自己创建所有文件来创建和运行一个简单的GWT应用程序.它工作正常,我能够看到正确的显示.

我试着玩代码来增强我的知识.我注意到的是,一旦我运行我的应用程序,说模块重命名为值" testhistory ",它工作正常.

但在那之后,如果我将重命名更改 ' historytokentest '的值,应用程序会在类路径中出现"无法找到' testhistory.gwt.xml '等错误;可能是错字,或者您可能忘记包含类路径条目对于来源?"

如果我将重命名更改为" testhistory " 的值,它再次正常工作.

任何人都可以清楚entryPoint类名之间是否有任何关系.gwt.xml文件名,模块重命名为 's值&项目名称.他们将来可以改变吗?(我知道这样做并不好,但只是清除疑虑)

gwt browser-history gwt-2.4

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

在Codeigniter中创建后台链接

我在Codeigniter中有一个URL为http:// arslan/admin/category/index/0/name/asc/10的页面.在此URL中,uri_segment从中开始0.此(0)是默认的搜索值,name并且asc是默认排序字段和顺序,以及图10是分页索引.

现在,如果我移动到带URL的添加页面(http:// arslan/admin/category/add /),同样如上所述"add"是当前函数.

现在,如果我想通过返回页面的链接返回...我怎样才能将用户转移回去?我不能让URL返回.

有人可以帮帮我吗?

php codeigniter browser-history

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

Phonegap navigator.app.backHistory/window.history.back无法在Blackberry Playbook上运行

在Blackberry playbook上,正常的window.history.back不起作用.在模拟器上测试....

所以,我在index.html中尝试了这个

window.history.back = navigator.app.backHistory;
Run Code Online (Sandbox Code Playgroud)

这可以控制Phonegap函数,但在运行时它会抛出一个错误:

"Error: Status=2 Message=Class App cannot be found"
Run Code Online (Sandbox Code Playgroud)

这是Phonegap(1.4.1)功能:

/**
 * Navigate back in the browser history.
*/
App.prototype.backHistory = function() {
    // window.history.back() behaves oddly on BlackBerry, so use
    // native implementation.
    console.log("in backHistory");
    PhoneGap.exec(null, null, "App", "backHistory", []);
};
Run Code Online (Sandbox Code Playgroud)

有线索吗?

blackberry browser-history blackberry-playbook cordova

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

没有模板的AngularJS $位置

我想$locationProvider在AngularJS中使用该服务而不在我的网站中呈现新的HTML模板ng-view.

我有一个div元素,通过ng-show绑定到数据元素的存在按需显示.我想通过它将其连接到浏览器位置,$locationProvider但保持在同一模板中.

模板:

<div> other stuff ... </div>

<div ng-show="model">{{ model.element }}</div>
Run Code Online (Sandbox Code Playgroud)

控制器:

Controller = function($scope, $location) {
  $scope.show = function() {
    $scope.model = model;    // show div
  }

  $scope.hide = function() {
    $scope.model = null;    // hide div
  }
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何$location在这个中集成服务.如果history.pushState直接设置,AngularJS也会覆盖该位置.

javascript browser-history angularjs

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

如何在使用HTML5 pushState更改浏览器URL时处理后退按钮

我做了一个单页的网站.当用户单击菜单按钮时,内容将加载ajax.它工作正常.为了改善SEO并允许用户复制/过去不同内容的URL,我使用

function show_content() {
        // change URL in browser bar)
        window.history.pushState("", "Content", "/content.php");
        // ajax
        $content.load("ajax/content.php?id="+id);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常.URL更改,浏览器不会重新加载页面

但是,当用户单击浏览器中的后退按钮时,URL将更改并且必须加载内容.

我做到了这一点,它的工作原理:

 window.onpopstate = function(event) {
        if (document.location.pathname == '/4-content.php') {
            show_content_1();
        }
        else if (document.location.pathname == '/1-content.php') {
            show_content_2();
        }
        else if (document.location.pathname == '/6-content.php') {
            show_content_();
        }
    };
Run Code Online (Sandbox Code Playgroud)

你知道是否有办法改进这段代码?

javascript ajax html5 browser-history pushstate

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

更新iframe,历史记录和网址.然后使用后退按钮使其工作

当我点击浏览器上的后退按钮时,我遇到了更新URL的问题(我在Firefox上进行测试).更新iframe的"src"属性后,我用它replaceState来更新历史记录.如果我在此之后点击后退按钮,iframe将返回上一页但URL不会更新以反映这一点.

function updateURLBar(urlInfo) {
    var stateObj = { foo: "bar" };
    document.getElementById("iframeContent").src = urlInfo[1];
    window.history.replaceState(stateObj, "page 2", urlInfo[0]);
}
Run Code Online (Sandbox Code Playgroud)

我是以错误的方式解决这个问题,还是我错过了一些东西.感谢先进的任何帮助!

html javascript iframe browser-history

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

在Google Chrome浏览器中检测新的空白标签页开口

我刚刚发布了一个Google Chrome扩展程序,该程序可将背景图片加载到新的空白标签中。该插件可在Chrome网上应用店中找到

为了检测新标签和空白标签,我需要在扩展程序的中请求“标签”权限manifest.json。但是,这使扩展程序具有读取浏览器历史记录的权限。并非所有用户都想要它,而我们实际上并不需要它。没有此权限要求,有没有办法检测空标签?目前,我们的检查如下所示:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
    if (changeInfo.status == "loading" && tab.url == 'chrome://newtab/')
    { /* load background into tab */ }
});
Run Code Online (Sandbox Code Playgroud)

url tabs manifest browser-history google-chrome-extension

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

window.location.href vs history.pushState - 要使用哪个?

我一直在教自己react-router,现在我想知道应该用哪种方法去另一页.

根据这篇文章(使用react路由器编程方式导航),您可以转到另一个页面this.props.history.push('/some/path').

然而,老实说,我不太确定window.location.href和之间的区别history.pushState.

据我所知,window.location.href = "/blah/blah";通过新的HTTP调用引导您进入另一个页面,刷新浏览器.

另一方面,什么history.pushState(和this.props.history.push('/some/path'))做推动状态.这显然会改变HTTP引用并因此更新XMLHttpRequest.

以下是mozila文档的摘录......

使用history.pushState()更改在更改状态后创建的XMLHttpRequest对象的HTTP标头中使用的引用者.

对我来说,听起来两种方法都会进行新的HTTP调用.如果是这样,有什么区别?

任何建议将被认真考虑.

PS

我认为在决定如何转到另一个页面之前,开发人员需要考虑是否有必要从服务器获取数据.

如果您需要从服务器检索数据,那window.location.href就没问题,因为您将进行新的HTTP调用.但是,如果您正在使用<HashRouter>,或者为了速度而想要避免刷新页面,那么什么是一个好方法呢?

这个问题让我发了这篇文章.

javascript window browser-history react-router

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