js 读取另一个html,如何获取同页面内另一个js内的匿名对象

比如bilibili的window下的player对象,少了很多内置有用函数

window.player

1. i {play: ƒ, pause: ƒ, reload: ƒ, seek: ƒ, volume: ƒ, …}

1. addEventListener: ƒ (i,e)

2. addViewPoints: ƒ (i)

3. appendToPlaylist: ƒ (i)

4. biliMessage: ƒ (i)

5. destroy: ƒ (i)

6. directiveDispatcher: ƒ (i)

7. exitFullScreen: ƒ ()

8. getBufferRate: ƒ ()

9. getCurrentTime: ƒ ()

10. getDuration: ƒ ()

11. getHeight: ƒ ()

12. getMediaInfo: ƒ ()

13. getPlayerState: ƒ ()

14. getPlaylist: ƒ ()

15. getPlaylistIndex: ƒ ()

16. getPlayurl: ƒ ()

17. getSession: ƒ ()

18. getState: ƒ ()

19. getStatisticsInfo: ƒ ()

20. getVersion: ƒ ()

21. getVideoMessage: ƒ ()

22. getWidth: ƒ ()

23. isFullScreen: ƒ ()

24. isMute: ƒ ()

25. loadLab: ƒ (i,e)

26. logger: ƒ (i)

27. mock: ƒ (i)

28. mode: ƒ (i)

29. next: ƒ (i,e,t)

30. noAuxiliary: ƒ ()

31. ogvUpdate: ƒ (i,e)

32. option: ƒ (i,e)

33. pause: ƒ ()

34. play: ƒ ()

35. premiereToast: ƒ (i)

36. prev: ƒ ()

37. reload: ƒ (i)

38. reloadAccess: ƒ (i)

39. removeEventListener: ƒ (i,e)

40. removeFromPlaylist: ƒ (i,e)

41. screenshot: ƒ (i)

42. seek: ƒ (i,e)

43. setMaskFps: ƒ (i)

44. setMute: ƒ ()

45. setPlayerState: ƒ (i,e)

46. setPlaylistIndex: ƒ (i,e)

47. stop: ƒ ()

48. switchSubtitle: ƒ (i)

49. track: ƒ (i,e)

50. updateGuideAttention: ƒ (i)

51. updatePageList: ƒ ()

52. updateSubtitle: ƒ (i)

53. verticalDanmaku: ƒ (i)

54. volume: ƒ (i)

55. \_\_proto\_\_: Object

但是在私有的jsc-player.5b5d1dc6.js第28098行下断点拦截到的player对象

this.player

i {prefix: "bilibili-player", video: video, videoContinueCompareTime: 1593089374034, userLoadedCallbacks: Array(24), initialized: true, …}

$body: init [body, context: body]

$iframe: init {}

$parent: init [div#bofqi, prevObject: init(1), context: body, selector: "#bofqi"]

$window: init [Window]

abtid: undefined

advDanmaku: i {advSetting: {…}, player: i, config: {…}, container: init(1), advDanmaku: i}

allPlugins: i {audioTrack: {…}, player: i}

allowFlv: true

bVideo: i {player: i, pageEvent: Window}

backupURLIndex: 0

basDanmaku: i {paused: true, sTime: 0, dmList: Array(0), cdmList: Array(0), dmIndex: 0, …}

baspanel: i {player: i, danmaku: i}

block: i {block: {…}, player: i, config: {…}, typeEnum: {…}, blockType: {…}}

buvid: "2A79FB2D-DC60-4E95-8F12-D1A4052A8E8F155813infoc"

cdnTimeStart: 1593089373617

config: {…}

container: init [div#bilibiliPlayer.bilibili-player.relative.bilibili-player-no-cursor, context: div#bilibiliPlayer.bilibili-player.relative.bilibili-player-no-cursor]

controller: i {currentRatioClass: "video-size-default", hintClickRemoved: false, bufferRanges: Array(1), TPL: "", lagLastSeekTime: -1, …}

corePreload: {session: "1a3aa5d1cc57183653b190b8799809a0", typedInfo: {…}, defQuality: 0, eventQueues: Array(5), reportQueues: Array(2), …}

corePreloadUsed: true

createdTime: 1593089374031

currentReceivedAudioIndex: (5) ["0-30216", "1-30280", "2-30280", "3-30280", "4-30280"]

currentReceivedVideoIndex: (4) ["0-64", "1-64", "2-64", "3-64"]

currentStreamType: "https"

danmaku: i {destoryed: false, showSubTitle: false, hotkeyPanelInited: false, allDmLoaded: false, player: i, …}

danmakuSetting: i {initalized: true, rendered: true, dropFrames: 0, dropFramesTime: 600, isSyncBlocked: false, …}

dashEventHandler: i {player: i, onDashHttpRequestEnded: ƒ, onDashHttpHeaderReceived: ƒ, onDashAudioFrameDecoded: ƒ, onDashVideoFrameDecoded: ƒ, …}

dashPlayer: e {config: {…}, state: {…}, timer: {…}, events: {…}, components: {…}, …}

destroyed: false

directiveManager: e {_events: {…}, _eventsCount: 38, _maxListeners: undefined, player: i, id: 5, …}

documentElement: html

endingpanel: null

endingpanelInitialized: false

errorHandler: i {backupURLIndex: 0, errorRetry: 5, retryCount: 0, retryTimer: 0, retrySecond: 2000, …}

errorPlayurl: false

eventLog: i {player: i, eventLog: i}

extraParams: null

feedbackTooltip: i {options: {…}, status: 0, prefix: "player-tooltips", triggerClass: "player-tooltips-trigger"}

firstAudioFrameReported: true

firstErrorEvent: false

firstVideoFrameReported: true

flag1: true

flvEventHandler: i {player: i}

forceReportSymbol: false

globalFunction: i {videoInfoCallback: Array(0), player: i, WINDOW_AGENT: {…}, videoInfo: {…}, videoInfoXHR: null}

iframe: null

initStart: 631.3950000003388

initialized: true

initializing: true

isSupportWebGL: true

lastPauseTime: 0

laterLoadTemplateTimer: 0

loadingpanel: i {container: init(1), player: i, prefix: "bilibili-player", stages: Array(4), contentbox: init(1)}

mediaDataSource: {type: "dash", duration: 5106000, url: {…}}

mock: i {mockFunctions: {…}}

multipleDanmakuDebug: {cid: 170413892, playurl: "https://upos-sz-mirrorcos.bilivideo.com/upgcxcode/…,platform&mid=489088672&orderid=0,2&logo=80000000", bvid: "BV1Ac411h793"}

p2pLoadInfo: {cdn: 2394744, p2p: 205500, url: "https://upos-sz-mirrorks3.bilivideo.com/upgcxcode/…erid=0,2&logo=80000000&xyip=106.111.16.205&xyct=8"}

partmanager: i {isPugv: false, parts: Array(12), partsInfo: Array(12), loadPartsCallback: Array(1), player: i, …}

pid: 1593089374032781

playlistLimit: false

popup: i {inited: true, ele: {…}, options: {…}, player: i, paused: true, …}

prefix: "bilibili-player"

premiereSyncTimer: 0

quicklogin: i {requireList: Array(0), windowFakeStatus: false, player: i}

rangePlay: {isEnable: false}

realTimeDanmaku: i {player: i, mode: 1, broadcast: i}

reloadMedia: i {player: i}

repeatReceivedAudioIndex: []

repeatReceivedVideoIndex: []

reportParamMaps: {}

segmentLoadInfo: {upos-sz-mirrorks3.bilivideo.com: {…}, upos-sz-mirrorcos.bilivideo.com: {…}}

segmentSizeMaps: {}

send: i {dmAllNum: 63, upImgUrl: "", player: i, prefix: "bilibili-player", container: init(1), …}

session: "1a3aa5d1cc57183653b190b8799809a0"

setting: {config: {…}, init: ƒ, getItem: ƒ}

settingPanel: i {initalized: false, player: i, setting: {…}, settingItem: {…}, config: {…}}

sourceSwitching: false

state: {video_state: 4, repeat: false, danmaku: true, mode: 0, play_type: 2, …}

subtitle: i {visibleStatus: true, data: {…}, inited: true, options: {…}, player: i, …}

syncEnable: true

template: i {firstScreen: true, ctrlShowTimes: 0, mouseInController: false, player: i, prefix: "bilibili-player", …}

timerChecker: null

timerVideoStatus: 36

toast: i {timeout: 5000, timerInfo: {…}, topTimeoutIndex: 0, restTime: null, restTimeShow: true, …}

totalReceivedBytes: (9) [301118, 908, 526954, 205505, 206374, 1019466, 963403, 205501, 205500]

track: i {enableHeartBeat: true, playerStatue: Array(5), seek: {…}, pipSeek: {…}, pipEventDetails: {…}, …}

user: i {player: i, playerNumber: {…}, userStatus: {…}, retry: 3, initialized: true, …}

userLoadedCallbacks: (24) [ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ, ƒ]

utils: ƒ i()

video: video

videoContinueCompareTime: 1593089374034

videoContinueCurrentTime: 0

videoContinueTime: 0

videoData: {acceptQuality: Array(4), videoQuality: 0, bp: undefined, hasPaid: undefined, isPreview: undefined}

videoDisableTime: 0

videoInfo: i {rendered: false, player: i, config: {…}, container: init(1), initialized: true, …}

videoQuality: 0

videoRealQuality: 64

videoSettings: {setting_config: {…}, video_status: {…}, block: {…}, message: {…}, subtitle: {…}, …}

videoTop: i {btnText: "关注", container: init(1), player: i, prefix: "bilibili-player", pgcType: 0, …}

window: Window {parent: Window, opener: Window, top: Window, length: 1, frames: Window, …}

__proto__: Object

那么如何导出这个this对象使其可以在外部js里调用呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值