标签: back-button

用户单击浏览器的后退按钮时阻止回发

我有一个网页,可以向多个用户发送电子邮件(在线分发列表).单击提交按钮并发送电子邮件后,将显示状态页面,其中列出已发送的电子邮件数,错误和其他信息.如果用户单击后退按钮,则会重新发送电子邮件.我怎么能阻止这个?

注:浏览器就提示用户"重新提交"或实际发送电子邮件之前"重新发送"数据页面,但不会从单击它,然后不知道为什么邮件的两个副本共出动停止我的用户.

环境:

  • 服务器:C#,ASP.NET 2.0,IIS6
  • 客户端:任何浏览器(我不想要像SmartNavigation这样的特定于IE的解决方案)

asp.net postback back-button

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

JSF后退按钮

如何创建一个链接,将用户导航回一页(即与点击浏览器相同)?

谢谢.

navigation jsf back-button

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

Android 在 Dialog 中覆盖 onKeyDown

我有一个活动,它在打开后立即打开一个对话框:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mPath = new File(getIntent().getExtras().getString("START_PATH"));
    FTYPE = getIntent().getExtras().getString("FILTER");

    showDialog(DIALOG_LOAD_FILE);        

}
Run Code Online (Sandbox Code Playgroud)

我试图做到这一点,当用户单击后退按钮(仍在对话框中)时,整个活动都将退出。我有以下几点:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {

            Intent resultIntent = new Intent();
            resultIntent.putExtra("FILE_PATH", mPath.toString());
            setResult(Activity.RESULT_OK, resultIntent);
            finish();           
    }

   return true;
}
Run Code Online (Sandbox Code Playgroud)

如果 Dialog 不再存在,这很有效,但如果 Dialog 仍然处于活动状态,则不会被调用。想法?

android dialog back-button android-activity

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

在iPhone应用程序中返回导航

当我按下iPhone应用程序中的后退按钮时,有什么方法可以捕获事件吗?现在我正在使用一个名为Back的图像按钮并为其定义动作.

我的客户端需要指向前一个屏幕的默认后退按钮,因此基于点击事件我应该能够指向特定屏幕,以便显示该屏幕的标题.

总之,我需要后退按钮来显示我需要的标题,是否可能?

提前致谢.

iphone xcode objective-c back-button uinavigationcontroller

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

Facebook对话框和后退按钮

当使用facebook android sdk打开Dialogs时,一切正常.

但是,如果用户单击"返回"按钮,则对话框确实会关闭,但不会调用对话框侦听器(或任何其他方法)的onCancel方法.

我搜索了这个问题,并在github上找到了来自fb android sdk的pull请求:当Dialog被取消时,在DialogListener调用Cancel.

我拿了一部分并修改了一下来得到这个:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
        mWebView.stopLoading();
        dismiss();
        mListener.onCancel();
        return true;
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

我把它添加到FbDialog类中,事实上这似乎可以解决问题.

我想知道为什么这不是sdk的一部分?拉动请求超过一年,最后一个响应是大约11个月.为什么不将它添加到sdk源代码?

由于这个解决方案正在运行它并不紧急,但我不喜欢修改facebook sdk的来源,因为它可能会在以后出现问题(如果/何时更新).

有任何想法吗?

facebook dialog back-button facebook-android-sdk

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

Windows Phone 8.1覆盖特定页面上的后退按钮

我正在开发一个WP 8.1 XAML应用程序.第一页是登录页面,第二页是例如历史页面.会有更多页面,但目前无关紧要.当我按下登录页面上的登录按钮时,会出现第二个(历史记录)页面.如果我按下历史记录页面上的(物理)后退按钮,它将返回登录页面.但我想禁用此功能.取而代之的是,当我按下后退按钮时会出现MessageDialog,如果我在几秒钟内再次按下(例如3秒),应用程序将终止.我试图找到我的问题的答案,但它不能正常工作.我在登录页面上尝试了这个:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
    if (Frame.CurrentSourcePageType.FullName == "MyAppName.History")
        Application.Current.Exit();
}
Run Code Online (Sandbox Code Playgroud)

当我按下第二个(历史)页面上的后退按钮时,我的应用程序终止.但是,如果我尝试按下后退按钮,它将导航回登录页面.在此之后,当我再次登录并按下后退按钮时,计数器将为2,应用程序将退出.这是我尝试的代码:

private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
    //MessageDialog msgbox = new MessageDialog("This is a popup message");
    //await msgbox.ShowAsync(); 
    //e.Handled = true;
    backPressCount++;

    if (backPressCount==2 && Frame.CurrentSourcePageType.FullName == "MyAppName.History")
        Application.Current.Exit();
}
Run Code Online (Sandbox Code Playgroud)

如果我取消注释2个MessageDialog行,则会显示该消息,但我将导航回登录页面.我试图取消注释e.Handled = true;,但它没有帮助.我想我应该禁用历史记录页面上的后退按钮或完全覆盖它.有人对我的问题有所了解吗?

编辑: 我重新考虑后退按钮的行为,因为我不想使用自动收报机来测量2按下之间的时间.而不是这个,我只想要一个带有问题的弹出消息,例如"你真的想退出吗?" 和2个按钮(是和否).它适用于以下代码:

private async void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
    e.Handled = true;
    MessageDialog dlg = new …
Run Code Online (Sandbox Code Playgroud)

overriding back-button messagedialog windows-phone-8.1

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

如何从Delphi禁用Android主页和后退按钮

我正在为Delphi XE7中的Android平板电脑编写应用程序.我想关掉主页和后退键,这样就没有人可以离开应用程序了.我找到了很多答案,但都没有提到Delphi.

我怎样才能在Delphi中实现这一目标?我应该使用哪些物品?我需要包括哪些单位?

delphi android back-button delphi-xe7

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

在工具栏的子元素顶部添加后退按钮

我有以下布局文件。如何在下面的布局中的 Toolbar 的 Imageview 子项的顶部(或覆盖在,如 z-index 上)添加后退按钮(箭头)?

<LinearLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">


<Toolbar
    android:layout_width="fill_parent"
    android:layout_height="600dp"
    android:id="@+id/toolbar"
    android:background="#313B45"
    android:weightSum="1"
    android:contentInsetLeft="0dp"
    android:contentInsetStart="0dp"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/headerimage"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            android:layout_gravity="left|top"
            android:layout_weight="1" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="New Text"
            android:id="@+id/textView"
            android:scaleType="fitXY"
            android:layout_gravity="left|top"
            android:layout_weight="1" />

    </LinearLayout>
</Toolbar>
Run Code Online (Sandbox Code Playgroud)

android back-button android-layout android-toolbar

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

用另一个后退按钮替换 Fragment

我正在尝试覆盖后退按钮,因为它在我按下时关闭了我的应用程序,我有不同的片段:

  • 片段 A:索引(当我按下后退按钮时,它会关闭应用程序)
  • Fragment B(当我按下返回按钮时,它会返回到 Fragment A)
  • Fragment C(当我按下返回按钮时,它会返回到 Fragment A)

我有我的主要活动:它管理我的片段(因为有一个导航抽屉)。

我发现了很多关于此的帖子,但我无法实现它们:

以片段 B 为例:

@Override
public void onBackPressed(){
    FragmentManager fm = getSupportFragmentManager();
    Fragment f = fm.findFragmentById(R.id.fragmentb); // get the fragment that is currently loaded in placeholder
    Object tag = f.getTag();
    // do handling with help of tag here
    // call super method
    super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)

它说无法解析 onBackPressed() 和 getSupportFragmentManager(),我想我没有正确使用该方法,那怎么办?

活动:

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import …
Run Code Online (Sandbox Code Playgroud)

android back-button fragment

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

Ionic 2 - 防止退出app硬件后退按钮

在我的Ionic 2应用程序中,硬件后退按钮(android,windows)应该像默认情况下那样工作,但有一个例外:如果没有任何东西可以返回,他不应该退出应用程序.

我知道我可以这样做:

platform.ready().then(() => {
    platform.registerBackButtonAction(() => {
        // Default action with the exception here
    },);
});
Run Code Online (Sandbox Code Playgroud)

但是我现在必须如何做到这一点,让它作为默认工作,但有一个例外?在该函数离子1文档中,存在不同情况的优先级.但我认为离子2改变了!?因为在离子2文档中没有这些优先级.我试图将优先级设置为99,因为那时一切都应该作为默认值.但是现在侧面菜单不能再关闭了,这就是为什么我认为离子1的优先级已经改变了,因为在离子1文档中,sidemenu的优先级是150,这就是为什么我的函数应该被忽略的原因.有人可以帮我吗?

default back-button exit ionic2

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