sdk.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import Deferred from './Deferred'
  2. let __sdk = null
  3. let __doc = null
  4. let __mount_list = []
  5. const deferred = Deferred()
  6. export const sdk = deferred.promise()
  7. export const sdk_mounted = (cb) => {
  8. __mount_list.push(cb)
  9. if (__sdk) {
  10. cb(__sdk)
  11. }
  12. }
  13. export function setupSDK(iframe) {
  14. __sdk = iframe.contentWindow.__sdk
  15. __doc = iframe.contentDocument
  16. __mount_list.forEach((cb) => cb(__sdk))
  17. deferred.resolveValue(__sdk)
  18. }
  19. export function insertStyle(style) {
  20. __doc.body.insertAdjacentHTML('beforeend', style)
  21. }
  22. export function clearScreen(clear) {
  23. if (__doc) {
  24. const button = __doc.body.querySelector('.clear-screen-btn')
  25. if (button) {
  26. if (clear) {
  27. if (button.querySelector('i').classList.contains('icon-hide_y')) {
  28. button.style.visibility = 'hidden'
  29. button.click()
  30. }
  31. } else {
  32. button.style.visibility = 'visible'
  33. if (button.querySelector('i').classList.contains('icon-hide_n')) {
  34. button.click()
  35. }
  36. }
  37. }
  38. }
  39. }
  40. sdk_mounted(()=>{
  41. insertStyle(
  42. `<style cssr-id="ddddddddddddd">
  43. .kankan-app__split .player[name='main'] {
  44. width:100% !important;
  45. }
  46. .kankan-app__split .player[name='copy'] {
  47. display:none !important;
  48. }
  49. </style>`)
  50. })