20-定位一闪而过的dialog

本文介绍了一种在网页开发中调试难以捕捉的弹窗(dialog)的方法。通过使用F12或Ctrl+shift+i打开浏览器的开发者工具并选择Sources选项,找到控制dialog显示的JS文件,暂停脚本执行使dialog保持显示状态以便进行调试。此方法适用于快速定位并修改dialog相关的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

         1. F12 或 Ctrl + shift + i 打开开发者工具,选择Sources

         2. 找到控制出现dialog的js文件,点击暂停按钮,dialog一直显示

         3. 点击左上角查看元素按钮,点击dialog,查看元素

         4. 定位完成后,点击Paused


 

web页面弹出的dialog一闪而过,刚要查看元素就消失不见,下面方法可以解决这个问题

1. F12 或 Ctrl + shift + i 打开开发者工具,选择Sources

2.  找到控制出现dialog的js文件,点击暂停按钮,dialog一直显示

  • ps : 控制dialog在哪个js文件问前端开发吧,要么自己挨个试试,哈哈哈

3. 点击左上角查看元素按钮,点击dialog,查看元素

4. 定位完成后,点击Paused

 

 

package com.lc.bailingbird; import static com.lc.bailingbird.base.BaseApplication.Blistener; import static com.lc.bailingbird.base.BaseApplication.bluetoothSDK; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentResultListener; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; import com.bes_ota.bluetoothsdk.BluetoothSDK; import com.google.android.material.badge.BadgeDrawable; import com.lc.bailingbird.base.BaseActivity; import com.lc.bailingbird.base.BaseApplication; import com.lc.bailingbird.conn.BaseAsyCallBack; import com.lc.bailingbird.conn.CartListPost; import com.lc.bailingbird.databinding.ActivityMainBinding; import com.lc.bailingbird.dialog.CommonDialog; import com.lc.bailingbird.fragment.ChatFragment; import com.lc.bailingbird.fragment.HomeFragmentNew; import com.lc.bailingbird.fragment.MarketFragment; import com.lc.bailingbird.fragment.MineFragment; import com.lc.bailingbird.fragment.MyFragment; import com.lc.bailingbird.fragment.NewsFragment; import com.lc.bailingbird.home.GoodDetailActivity; import com.lc.bailingbird.home.NewcomerGuideActivity; import com.lc.bailingbird.home.WebActivity; import com.lc.bailingbird.home.launcherActivity; import com.lc.bailingbird.login.ForgetPWDActivity; import com.lc.bailingbird.login.LoginActivity; import com.lc.bailingbird.login.RegisterActivity; import com.lc.bailingbird.mine.WelcomeActivity; import com.lc.bailingbird.util.BluetoothUtil; import com.lc.bailingbird.util.GlideImageLoader; import com.lc.bailingbird.util.SPManager; import com.mob.MobSDK; import com.petterp.floatingx.FloatingX; import com.petterp.floatingx.assist.FxGravity; import com.petterp.floatingx.assist.helper.AppHelper; import com.petterp.floatingx.impl.lifecycle.FxTagActivityLifecycleImpl; import com.qiyukf.nimlib.sdk.StatusBarNotificationConfig; import com.qiyukf.unicorn.api.ConsultSource; import com.qiyukf.unicorn.api.OnMessageItemClickListener; import com.qiyukf.unicorn.api.Unicorn; import com.qiyukf.unicorn.api.YSFOptions; import com.qiyukf.unicorn.ui.activity.LeaveMessageActivity; import com.qiyukf.unicorn.ui.activity.ServiceMessageActivity; import com.tencent.bugly.crashreport.CrashReport; import com.zcx.helper.view.toast.ToastUtils; public class MainActivity extends BaseActivity<ActivityMainBinding> { FragmentStateAdapter adapter; // boolean ISCLICK = true; // CommonDialog dialog; @Override protected void iniClick() { getSupportFragmentManager().setFragmentResultListener("position", this, new FragmentResultListener() { @Override public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle result) { Log.e("HOME_TAG", "滑动?" + result.getInt("position")); binding.viewpager.setCurrentItem(result.getInt("position"), true); if (result.getInt("position") == 1 && result.containsKey("title")) { getSupportFragmentManager().setFragmentResult("classTitle", result); } } }); } @Override public void iniView() { super.iniView(); // dialog = new CommonDialog(MainActivity.this, "提示", "客服功能需要麦克风权限"); binding.viewpager.setAdapter(adapter = new FragmentStateAdapter(this) { @NonNull @Override public Fragment createFragment(int position) { switch (position) { case 0: return new NewsFragment(); case 1: return new MarketFragment(); case 2: return new HomeFragmentNew(); case 3: return new ChatFragment(); default: return new MineFragment(); } } @Override public int getItemCount() { return 5; } }); binding.viewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageSelected(int position) { super.onPageSelected(position); switch (position) { case 0: binding.tab.setSelectedItemId(R.id.menu_news); break; case 1: binding.tab.setSelectedItemId(R.id.menu_market); break; case 2: binding.tab.setSelectedItemId(R.id.menu_home); break; case 3: binding.tab.setSelectedItemId(R.id.menu_message); break; case 4: binding.tab.setSelectedItemId(R.id.menu_my); break; } } }); // binding.tab.setSelectedItemId(R.id.menu_home); binding.tab.setOnItemSelectedListener(item -> { int itemId = item.getItemId(); if (itemId == R.id.menu_news) { binding.viewpager.setCurrentItem(0, true); return true; } else if (itemId == R.id.menu_market) { binding.viewpager.setCurrentItem(1, true); return true; } else if (itemId == R.id.menu_home) { binding.viewpager.setCurrentItem(2, true); return true; } else if (itemId == R.id.menu_message) { if (!SPManager.get().getLoginStatus()) { LoginActivity.start(this); return false; } binding.viewpager.setCurrentItem(3, true); return true; } else if (itemId == R.id.menu_my) { if (!SPManager.get().getLoginStatus()) { LoginActivity.start(this); return false; } binding.viewpager.setCurrentItem(4, true); return true; } return false; }); } @Override protected void onDestroy() { super.onDestroy(); // EventBus.getDefault().unregister(this); } public void setPrivate() { MobSDK.submitPolicyGrantResult(true); CrashReport.initCrashReport(getApplicationContext(), "2a231036be", false); } @Override protected void onResume() { super.onResume(); getCartNum(); } public void getCartNum() { new CartListPost(new BaseAsyCallBack<CartListPost.RespBean>(MainActivity.this) { @Override protected void onStart() { super.onStart(); } @Override protected void onSuccess(String toast, CartListPost.RespBean bean) { BadgeDrawable badge = binding.tab.getOrCreateBadge(R.id.menu_message); if (bean.getResult().isEmpty()) { binding.tab.removeBadge(R.id.menu_message); } else { if (bean.getResult().size() > 0) { badge.setVisible(true); badge.setVerticalOffset(10); badge.setNumber(bean.getResult().get(0).getList().size()); badge.setBackgroundColor(Color.parseColor("#F30B14")); badge.setBadgeTextColor(Color.parseColor("#FFFFFF")); badge.setMaxCharacterCount(99); } else { binding.tab.removeBadge(R.id.menu_message); } } } @Override protected void onFail(String toast) { ToastUtils.show(toast); } @Override protected void onEnd(String toast) { super.onEnd(toast); } }).execute(false); } private long mExitTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - mExitTime) > 2000) { ToastUtils.show("再按一次退出APP"); mExitTime = System.currentTimeMillis(); } else { //后台运行 不结束程序 只是退出到后台 Intent intent = new Intent(); intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.HOME"); startActivity(intent); //System.exit(0); //常规java、c#的标准退出法,返回值为0代表正常退出 结束程序 } return true; } return super.onKeyDown(keyCode, event); } } 怎么在ViewPager滑动的时候添加是否登录验证
最新发布
07-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值