ios-post-message.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template lang="">
  2. <div>
  3. <div class="">
  4. <div class="">window.webkit: {{ hasWebkit }}</div>
  5. <div class="">
  6. window.webkit.messageHandlers: {{ hasMessageHandlers }}
  7. </div>
  8. <div class="">
  9. window.webkit.messageHandlers.setShareInfo: {{ hasSetShareInfo }}
  10. </div>
  11. <div class="">
  12. window.webkit.messageHandlers.openShare: {{ hasOpenShare }}
  13. </div>
  14. <div class="">
  15. <div class="">messageHandlersKeys {{ messageHandlersKeys.length }}</div>
  16. <div v-for="item in messageHandlersKeys" :key="item">
  17. {{ item }}
  18. </div>
  19. </div>
  20. </div>
  21. <v-btn @click="setShareInfo">setShareInfo</v-btn>
  22. <v-btn @click="openShare">openShare</v-btn>
  23. </div>
  24. </template>
  25. <script>
  26. export default {
  27. auth: false,
  28. data() {
  29. return {
  30. hasWebkit: !!window?.webkit,
  31. hasMessageHandlers: !!window?.webkit?.messageHandlers,
  32. hasSetShareInfo: !!window?.webkit?.messageHandlers?.setShareInfo,
  33. hasOpenShare: !!window?.webkit?.messageHandlers?.openShare,
  34. messageHandlersKeys: Object.keys(window?.webkit?.messageHandlers ?? {}),
  35. };
  36. },
  37. fetch() {
  38. try {
  39. this.setShareInfo();
  40. } catch (error) {}
  41. },
  42. mounted() {
  43. // this.
  44. },
  45. methods: {
  46. setShareInfo() {
  47. window.webkit.messageHandlers.setShareInfo.postMessage({
  48. title: '邀请好友赚星币',
  49. gotoUrl: 'http://www.baidu.com',
  50. shareImg:
  51. 'http://gntest.phone.androidscloud.com:1280/cloud/phone/web/static/img/logo.c898a0c6.png',
  52. });
  53. },
  54. openShare() {
  55. window.webkit.messageHandlers.openShare.postMessage();
  56. },
  57. },
  58. };
  59. </script>