今天发现用UEditor默认的添加视频,在微信内置浏览器里无法正常显示。估计是微信屏蔽了UEditor使用的<embeded>标签。插入iframe形式的通用代码则能正常显示。
用百度UEditor可以插入iframe,流程如下:
1.找到视频的“通用代码”,比如腾讯的
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZgAAAFBCAMAAAB91EmAAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURf////Px9R4eHvs4OPf3993d3fXz9SQkJOvr6/Hx8cnJyf9+DNfX18vLy7m5udvb22ZmZioqKr29vdm2pRQWH+kWGNA0NYGBgeyYAwKMsfyrGzacBOjSwmDU//jq0tCrmen2977K3MejkcK9yQCZFiEhIlq/IDEwMRITFdLp9iS18Q2m6L+/vyYmJ9z3+NSvnQAAAMPT6vn43P+vHyCu5g18F1JSUxJ0GJmZmfj260pKSx8eIVa5HtHCvcbFyenp6VtaWsq9wNWzn+MbHdslJvbcyf/PoGhoab3B0tzLvvPx82NjYxSi1giRucuolPTz81XN+i0tLj2iCiCy7fOiDQyZw8vM0QKRFNXT0/fx9ND//19eYImHiPX398LgwvKdCMnJzUTE9jk4Ocrc9//+0QiJFsa+vgSLFAeDFYSgz4KRtPPj0NcuLr+fj/3nt5WVlhKdy8HQ4/H3+cTp776+w+nr2Pb48r6jmej//8G9vX3D64605eWzkBup3djHvdWjYqjX7aDQ/sR/KODw9vrw2k+zGIi9h+zYp/Lwxf/2+v//6vWwtoyMkf/ceXh2eOHX0c+0q0apEw5wFuXh4v/j7/fx47Tn//HFfL/H1J6CmPemFmCl2/+CcP/qqZDR8c6hgvj39buope+Ml0A/Q//P2IEqes7e7O2vYPLHx8qvpP/GDaNgLBoaHPPn5fr//bKPoPn35dvr7MjCwU255Sp/wvjCWV5hpPPw7dTOx6GLhO2hGDe68dlJSqHL2n6DolCBtb3Bzmaz6SpZny0xam5vcK7PqKHPjM/QzqWkps6+srni8mkwhNDKv8GxrK6xtGu5SrrBySqH0YRbVddpaM/b2s3qyOf34pCmymxrbf/V5W6pyk+p0d17e4I1LLGJcerEl5SfrZ+fnPXmxpW61frWk1OpJ87R1+OUCGEqL7yHSaJnYNX284pAht22gkWaTummLe3KoSmDMbKwhfPu8B+WvMooKTKgx/+EQE5Nf+amTuSinylpfwKHqTSTBlRaWrW1tbkm6+wAACAASURBVHja7Z0JQBRH1sfbfIOAGAXiiiYsgbgEyYorxCUyLIy3QTSKq0YUjyAhURTlEAXlUFDkCOiHgicqGKNRWKPxwivxihqvqPG+jxhNDCYkMdndz3yvqrp7ume6e4aZgUGp/2AfVX1g/ea9V11Tj2EYeTVtYOrbgGRv37fGbvvxqROnvjJx4iu83sJ6GelvWN1BL4g1b968I8eaF9nDJfpqItRhYQWHE4OJxiANxWIoGBPBAJnC6FVTp06sPZgj3YbZaOAKA+wSQyOdAtX5HJjgZjwZCsZkMPb2RZsIGC0a48AEbW9ZpKmx79ukKF8d5hPoVPDHGArGgmD6VoAvE4B5i5NBMMNsiuxq+qrsE/29nJx8Njy5yYEJpmAs4Mr6bmuevGrV1FqDOZI2rEhjZ99XNbQgMszJKSzQ60ALARgaY8wHA75MD8zLLytzeWFekGtzBEZl0wUcGSgwUD0peAwFY0Ewmu3HheHfGDAQ+kMKwZPBBU708fLxsfUMDNwQFvoHdWWWpFNjg/plU40GMw8pqLCoSLPN3n5YQXkY5hK4YYNXvpAMYkPBmAWmaHvtwaQVVmjsttnb3VT7cGBatSrv0o6CsRwYiDLIZESdZZ5Ld4xFF8zxoO02FTUae7vgrmGeTj7IkW3wDGzlGXp4THBiIk9mDAVjFpga3GPm0PBgeGvRiTDA5fixQugq19g3j/AKDPSxxfYS6AnO7MIJIEPBWAjMgG2FR9YZC2YesphoFPn7qjQn1IHPBXp6Yj+2AZbtIwucE4MpGEsJogzqmAnIKIABe4neXqTR1DStHFoQCDgCAzkwqAPgkjiGgrEcmcIgo8GsW3W8W/MKO7salf1hNWYCLwxmAyjQy+WPoWPGUDAW0YABFXgok0Uj7JVxwb87bzDrjncr1GyrqemrCj7gRYyFaANRZMGJoWNYm6FgzAUTrtk+D/eZRTajB6Z793nr1h3ZXlEDatpkkhr1k1vxYNh1ecGJdqw3o2DM1cptRWnHp/LP/8Khsu68gMs6UFoR5qIquuAlAsMbjteFw4nUYiyjpjV2NtHHV03VjpjpgkHRBbRqVbRNzUoExu6EGneUW+kr0H9S4jdDwaFRMGY7s5ptFcOijxMwE3kwLwvjP2A5vmrV8cKaleE1djXhLQsi0ZOlFJhWPuUHDgfXgcWgt5CumoCsDqZJHQ7MbCvafoT9yExsMoTNvHnYXlYlF4WvDO9b01RzojxMxmCQP/MakX8i0Tww4eED9BsvHK0GDBgAtVYDg44dgH4H9Ivgz7SaNG0iE7wHkAPN418kGGYWdpkRmL8RP7aqxfPwAANgVF+42Pp4ynFp1ap9YPmBLn8og6kJPgEKrpFrqgEDZCsGWNNi8C/AgSEG00QaTNMBGI65YCoKg0iYmTiR75lxZNZhMMejh2ngrdq3r6ovPPQrcGnVvn37DeUHFMFobnbBuqkxq0HrH4ywqTEheYS69mIamBqNzfYW3ECzGMzf1qHZF0GbCu1UTdG7o9Im38tWgQsi0yowTAlMzeEurA7XPF3BX8+SB/QdIGdblgll9nZFXyRjo3lFROZlcGTHj28vLCqyC0dgmjRlnPvY+mifLWXItFICU9CFV9fnqOpXSmDytWAiaEs1IDBdBKItRcFQUVf2lIKhwb+BgnHiTSbfydY4ebW3ra1MOKUxSAmMbaQL4eISaUvBNCQwtk6hYDT5oU62FEzDAlMfrUzBUDAUDAVDwVAwFAwFQ0XBUDAUDAXTKMGEhpZTMA0RzIULF7pG1qqVQ0d4CfZGXLgwgoKpGzAXLjwJMx6MJxyvFu1d8KRgLA+mD5HayVgwgQjFiEjhXqCZYLp6UTByYPo4qn2MBMOS9NHuKYPx6XKzSxi/kigJG+Fj6+N44AJckV3hg/RKGhcYR16SvQBZMH1CI40D4xPR1Vbtwq2kSiKfgNGUC1fYjPRKGisYR8cRkcaA4Q/392H3lMFMCrONnBTGrmwL8p10Smz9y8EufGzD+viwK1v/UB+dkkYHxjNUpCc+hsFojwaQeE8RTCRp/0gtGJ0Sru3hH7tCYHRKGjuYEU61ARM6wtM4MD6T1OxKogR5KtT2Po5e7AodpF/SyMCMEEptG2gYjOD4SM9aW4x+Sbna1lbfPhq9xQia+UnYhuc8awFGbfucJ96rTYzRL0GdZf2I0uhjDN/MXSM3PBfoaWs0mK5eCKMRYMR9MBT8RSWos6zbB4MY09h7ZZ5dWak99c1FGgw5vvw5jBHv1eY5BsCISyLV+k8tCEwjf45hwfiHSWKRBePvxB5vBBgD8i+nQzJyYJ5IejEFMJE8RrPBoCBCwUiDkfFicmD81bba4wP9wXzMHSujYCTA+Mt6MbnR5UDh8Z7oT6bQ0WXLgwkMlPVicmBAIk66p1MwFrGYQCUs9BNM6w1iWr6VKRgKhoKhYCgYCoaCoWCoKBgKhoKhYJ55MDb1IA2VtCgYCoaCoWAoGAqGgqFgKBgKhoKhYCgYCoaCoWAoGAqGqvGAGWblNh5W72CCC+oUTISjY5c6axguM1S49cyA2dTpSfM6BNPH0bGg7sGwSJ4hMC0Ph3bqFPl83YFxrFswGpYK+tHUu8U88RdrhKXANC/Y0AkpsMXTDYawqX+L8deVmWAiIyPLb8La2acTq/aHtbWFD3a3vHZJu5++96xFwWR/66TV/gyNZsr6FI0m/dPs0NsmgxFssZqlvcdStF9kUxjdYkeB/74EjWbuhwnkt9j3iUZzPZI/MLK0tmCchwkVLACD719bMAjFBuDSvhMvfy2XawDi0YjdsOl6Wq3Vb7staTFT1i8VteC+h59qXE9n1B4MH2l0YsysFJa4ZtZSzUOncrU6tHx8Cw/8u2IwWz/B/4iu7zXNYr4Q7TYXgkH3NwVMe5uWYVou6pZae8EG8nDEbbT3cOtZzopMsJgiqENgYFUkC4Ztv5JPzQj+jvq9MhEYDYeDt9h9PBihAac0ADBqm3y0zP/jMKzK+X7ZC6cvnWU3tnoAGAl7meSMvOAkI8AUaP8ySoEcGJFjU2gZg70yXTA6rkwLBuxjv47FpOsazKRgWARPMgeMia7sRHOb8k7lHXB3WcAlpIAHULiij4yV5DvbOOcbYzHBfbj2OvCFHpgn+7mQkn4ZAeLdSi1jDNcbIw8z0hYjoA9MNPcFYOZelXxj5AdrgvOtYTGwbF/APseUC59j0jkb2SsOMtOFZA7nGxdjOrBkLjwvEWMeXd26Bm2Q9jr4ZUL290drC4aNK45kS1gl78o0c0+Xj9gtsJjsPeQ9kS70pvkn8jXWAdPchX3AjBwmrnU9jSzl/l5td2BdQeh4D+EhEcYGf2dMps8myeA/5T4ympgHpahF5n5/9P5e02MM12E2xpWl7/1w1J4jHJiYVT9xB4rCXISZMcZEVwaPluzOMB0uNtnfx4nAFD44f9bk7nILINPHWa5Xln0hQ5NOemWf3O/yW4IZQzI6DzFTHmRoLUYcxy6dHgWIUGcDgbm1Z03JPgmLMTP4k/ub5srklL4XMbt/SRD69ZyZYTBcP+wPR8c/2BIbmV4ZaZH0yBRTYgwXaTS8R2PN46icK7t1Hm3dX4rBpE+HDqGkxRgFpiBCKBctGHJ/88C0LH/ugmCXPMIUPrgkeOA04QHT8QAXZ5xFragPxibk/n9O/zZq/f6j+G1WW4vho4wozDxCXkomxqCtW+iZCcCgUGCGxcg++ZP7mwfm+U6dfLSU3uqKH2Cud50ujjkmg9F5e+uCge6Zy+lPbR6dnp6+N/vDo6aB4Tpm2ltgGmIw2V8KwOB4lr317PpScyxmUr5Y2v41ub8JYNoLJADT8hp6ekE9M24c5r5avdWUIRnHPgU6krMY9Fa9hWwl3Wuvqa5Mw438c5dfnEDAlJBRH032VaewvVo/M6oA1c9d74RGaEy3GKwvJh2A54H8ZqIQSu5vygOmSD6WH112lFAdDvtrxGDqcdi/BTfEfNj8Yf9nEIyj5pn7oIx+tEzBUDAUDAVDpy9RMBQMBUPBUDAUDAVDRcFQMBQMBUPBUDAUDAWjp5ZU1hND9fSpOVUdiYKhYKjqFwz153USISgYCoaKgqFgKBgKhoKhYCgYKgqGgqGiYCgYCoaCoaJgKBgqCoaCoWAoGAqGgqFgqKwDZsrJVxV0UvqPOnQs/bOCSjtKnnRry+sK2nJL8qSEga8paGCC5Elrd/1JQbvWSp406oe/KOiHUfUNRpELkJE86c8GJHmSDoklL4p2X3xd8qSdrynqHcmTev5JUT0lT/qLAdU3mFcNyBgwA+FVWzBLSkqWiEskT3rNgCRP+pMBPV1g/vHqP+Cn1mAGDkzJKD1aWpoysHZgqpMCqmsN5p9IjQXMPwgRrV4V/RgAM7A0ky3LLB2oDOZFoZaUMEzJElGR5En/FKhz582bUzZv7txZUGZhMG/LyApgWAKzTx5COnlSF40imIEDjwpKjw4caDSYqgCGyaqqDZjOnUvj2XeAAE0twPQwAOZtwHJylJQOAZi3rQFm9j/mnOP2D56cbdhiBv6ZfZWKiku5coNgkMEwzJYlhsF0Ji+wFsDinVFa6s0w8WA1bLnRYHqWgXb16KEE5i9vz5HusL0HlfUOBrjc/VpYcmi2wK/JgOEkLo6XLpYAU5WFSmKrDILpzCkFus6bU2EjdTP0kVO4YmkwPfRfeQyThDrSgKaH5EnIYOTAgC+rf4sBe9F5WDk421gwR3XKS40Es2QLKapeYiwYsJeMVHY7NYPYjCyYHhK6UrF2bTjUXYFtaTBY70kK1dQ7mNmzkb1MOYSd2cE5U3RsRgnMZt1y73cUwCzRqsqNFGVXCQqVwKQmMBn98AZa9MtgElKNBLOr7N9XevJ0wpnwCYpg3pamYhUw2HxPzr+LVnfxKunu7NmzkSnBjxKYFL0Kw2CqkFiDYXKq0Z4SmFSEIjW1MxOfCst+0CuDVWpqPLMT1aQaAkOe8vPQZll4RV7PXQzzb2WL0Q//B9+zCpjZs/Fgw6G7c8jqEAkznJTAvFOqV/H5O0pgqqp/31JyJ/ZWAF+W5Babfadky+/VVXJgsMBEUvrhFVgl2c/oh2uUwZSxQzSw2bNs7WoglMeslgFDzOPdORKhH6vewczXKTgH75FRJ0/Ox1hmz5Y86R0ib/2hLVIhDWZ0rGAvKSAgKUe7C05NCUwCs7lfar/PcREg6beZSVAA07MHfvXM48bOJlzJW5u3q+dapscVVCsN5u13337v7fckwLyLK6wMJukgO1o3ZQ5GowRmM1M7MIOrUV8sK7ZkS/VgoqrqLXdwXVa1jMX0I0pgJsOSuM4E2JqMlqmwIQ2GKE+neEIZ0/MME95Teqzs3XfffQ/+AZgf3tfq7xgMknXBTDmo3f767vzag9msBGZwtZvWYLJi71QNHlyCrcatGjZrDaafPBgwlx7/1i3edSYPYK3tIQPmPdz+CMy7Wr0PYN63Cpj58wWd5STR4PYUREYezOZ4iZrP5cEgC6kSDO7HVg+uJru3sAUpgJmcwFyGFXGdnwOjy0zCZCUwoDNkG3rJa8k4fwWxojJ5i0EgEJj36hNMs2bNZMAcErhT3GVOQluo93xo/nx5MJJcmMydSmAGj67i4kxOyeDBW5IIoaoqQ2BSmN2TJ2cw3t5MJuIyeTeTYgDMBPTQEl62i3i1M4gNRJmerXdNkAEDzf8+C0bHlb2Pq2Sb1d6wTAMzO4mP+8h45gyCHvPXg9je83w5MDuPSt8nZacSGCCTzRDnNXgJyyi2avRgWTCT++HXZSZ+SAoTf3nIkCGTQT/HM5cn4wpZMFcQidY9d+WtRWGf7DNXCCZpMERz0MOcQADm77ii/sHMPykymHMnD6EFLpwjA2bnzp2bZe6TAXU75cEMHn0Phfs7vLnwXGTAEA3ZvRtgpAxh9+ABk92UBQMmksfiYMJ3cV2B1saA0e2VWQ3M/JNsG32tW3lIHkyKzH28OyuDgR4Ak7UFuNzKCsC3rWa5KIAZMhks5TbAwDSGAJf4X6FMEQymsIstyONiDjgyOVf29/fxSxIMelkDzKA5AosRas4gOTCdS+VuJAtmNFGb392ql/CQtoDukQrJk4bwAu8Fy/5D+l/2RlxYSZ40YcKEX8KZtchgKv4dDk+ZawHHFQIGyEyQBsPpjR8O/shtHjz5BldsBTCDBh2E5xcwl1FJOpUnZcC89hqA8ZaIMt5gMXKfK3Jg0Ih/TkBWlhsxmWyWiwEwKUxC/18TEm4nZEIPg+ciC2ZCHlPxCzy47PoFPf3nAam1uGOGqgyAgSeGg+zmD9BRtRaYQcBl0LlDaIkAifQ1FMmAeW1naWf9MBOfejTFEJh72eLiWKPAtPVmLvf/lcBP6d/fMBjwXGcmXGHKrqDe2RnECK0nGAHmR3i7/KDHqP7BgOYTLLAhMpmku3Jg8AeKnTtn6D3FdCYfLiqCcRMXZymC6c/qZya+LSwvX778M6yHcMX9ZcG0zmPCz/yCI374mdat8caV1saAeQP1xLAH+xGKf7QmGK3uJgm5vCQHRvvhldhgUlLxh43SY75tRuPXPbIXUPIRO5Z5D5ePbiMNZgjBcInJwCDaskCGsD/SYFqjF7BIO7PrTNmZX3aVhRM+pEIBzBtvwM8bGuCBtpDBvIFldTAvCT7MPIm4KIGR6JixH5NIgyGqJo+X99q0uVdCPi1jK5Qspu1t5lLb/hKSPAkaH/2cQWaylnw+xlSUtW7NlkuDARBgLFjQCRoFK+TYScGPUGVVMC8Neumlu4e+Bh0axRx6SdliUiU6ZpmGwXyER2Puoc171egZ8yNFMG3Jy5f5Fa/b9he/pMHwulIGXCrWppWdaS2QNBgkmcb7Qbaq7sC8JKX/g5+Th/Cm5El/xUplY4z35s0peK5qfMZOUqMABp4vs36/x7Joc+/3LObOPQUwbVllMoiKvgyAkZacxTR8MAIpgPnrX/t1vrx5c2o/vInElStZTEkJjwWjKSlpYxjMf7WI6gwM1v9Kvt542sDISQnMPREX2G9jBJi2//1v/YCRV32DuavM5a50jFHmIh1jqtooqkrypJ/bKupnyZN2KXPZJXnSj8pcfqxvMKPmK3GZL519cFSRTGfpgedYRTJVsdJjoopkfs6QPGmtIhm5NAxFMj+Oqm8wVOZ+zEXBUDBUFAwFQ8FQMBQMBUPBUFEwFAwVBUPBUDAUDBVo1qxZDqDVFExDtBi3ZTUUTEMEU5JHXVlDBLPt8QIKpiGCyS6roWAaIpgtF2mvrCGCMRj6KRjrgLmTVxdgWtShRDd/BiTTrL9frIsHzBZ192YSglE9A5IBc2RZOAXTEMGsyLOnYBoimPsXKZiGCObYmfC6BDN38XBtWe6/8E7vcex+1OJi0TkrppP1DLx+BVfGnhed0njAdL9SU4dgcle4sIoojvrXOQRmxkxo5d6oaKYCGPgBMDmVhsG4epjaIDHtMnVKktLi8NqtXUerg3mrm30dgpmRP5O3lRkY0HQCZvw0ZYuBnxWHd+wZjsBELR5uMhjXOG5Rz2BcE52REr17wfKUtwkxplkdgok9P4M1mD3D/dpNy9VajAKYqB0uLuPfyo9wuXH2X99dg3N3GwXG1Rea+k138f/Zr5s3u8AktNV6R4pkPhh8zzT4lVS9PnNPcj2le72AtLHWBIMwcBbTmyX0kxhM9g6XPcVM7kSwJWbF+Yng8pDF9HYZl/lKMZgKZzHI8ymDQa0AjSD+//dC7d+LgyCo1jvSwmDwPTkwqo3ddE0mIMjaYHiL4YI/H2Mg6iwuzj3uzcwYBz8I1Io93rkrxlXyMWbujWlGuLJFIc7OawKCwG0cA6/h69auebLzZ5lJaR7INY0li41Q5euKqle6olpXcmRHVdYm2FCpNqJ2giaEplwIh3aAGrdo58Q1I1Ux0c7OHhgiV4FKOuB3QxJc5lRHtERHpi0Kcn5zShD2W/jGWjDIftgLkffPuWh0JrLcZCuBgSavZLd6S8YYt1U3I8ZPi424sYa4MlTDgpnkMo4xAkzimiTXzzryFuOWHOceEOSBweB3Plq4LnLn2mhoZgAcio9s19GvW1w8cYSL4pOgOM03KW2Re0DIqY5Zm7xHunXzduuwZuTCoDgcf6AiDSqifUe6RWMwrqdQkHL9LHNlTLK3Ku1U5sKgU94B/I0FruxNd+5C7K/JWoxft7HWt5je05FD0wGzPP/NzEewk/tCxDhdMMVApTL2xlsnDMSYkbgdeDCoTWKIp0J1eBGTvOiTkbh65ZTnmzl7cEfyHs0t0ZtcBAcHVINj91h8BeyX+Ap0CvafpHHxciWCGkfKyb+RPBi4zKJMFXchMZiktESrgPGbOL5jSFxlZXaXDIYDg/u+PJjr46f5XRs/7dFYBrZYMBtX5O/5CYPpPc5tYsTtuQaDvx4Y0uCC0B9QmOwxEpW6njpr56oPBswF9d0EYDi0KqPB+PJg2O4G78oEFxKDgfeJVcDkFlXmFE69seOGh108BvMTCuFCMFkQ+7uPnwY9sT1HWYs5B4e798YdtBm3J+6eZkR3GcEI8RgJLZ/ZFFxZPPgM5Mq0ob/QeyS4E1Qd4hGPHBE+sh3yS/FZZ2MSvVW9EhNxPyogSOuxFg51j0lEHggcnAe4R1zhlrxmJLlCR3BiSYUdsSuDkwVg2O6GEAx7IeT4FgYhML5NNwb5+n3jbh1Xdj3iRlw8wyw8siO/mA3+vQX9K3mhPjP0mtF3X3HPqOOUwcQkJ3pvDEIhfTuKstCUKGio8EKV1Q3FZFQNMfjNEA8VORJH8lPeqFk3Bi2Kx00J3YHEL7gaFUQPZ+e4eISZrcC9h2MYTEAIqkPLU2tUAjDknmIw7IVUC6F3sB1ZrvOpc0HQFXG2VvCv97EybVfXrd137MJi4i6u/FRby3s2OjB86K9vMLW8Z6MDUwcyDowlxso6dOigMSw67F/vg5h19neXKZiGCoZOxjBrMkbd/aVyKrNEwVAwVBQMBUPBUDAUDAVDwVDJgxn2fEyzqQX+3N+gnlVKwTQIPYxUH/hy95omgMRLIIJnWKh6xDC0omCs4cqivhfMYhVZTKharQ5FKzokY40hGQ5M1FXOXvazpNRIaGUKmLp7MzWWQUweDGc5sV8O11qM2lSLoWDMAnPVyYmLKvpgmo9Qq/3RioKxhsXcKZ8p48oYJkJ9wcReGQVjLphh9yO+qmRd2Z2vkLnwFgMdMnWEeWAU82OUtaKY6T099vw0MmOmS4QLN3+5kYB5uPW7B1xX7PfPiR+bwRWo1IfNAiObH4Pnlc0YR2YpuUyP2oELmN7Q9KQOzSZDU9HQXGYm6gYuYl4orhUYiU/mjfqw3pIpN1nsfHKFqQjSYLqriwFGMR9cMJiPPmerNeois8Ao58fMQKaDN6N2RKADcydG8GCuo9l/05ncqfC7PYLKFTOZ3FXT6hpMr8+CxiofROaLG51yYyqYa7/dhuUdfzCRjSt+gzaI/XA4k8s/zeQb9GTm5McIwCxehVax4ydyYPyuzayseTTp8M2IPcNzVw1nyFRmps7BeKTxYHAOi14iDW5hi6bcSLbf3m/wWJnbg9L0327jUJMe6RW5tSNb7dKUMS/GKObHCMGM2lHMVK6YuYIDc91l946I/PxTZ+3j0eTNPd8B1EfT6wFMiBYMm5shMWnMoik3Vpklo5Afw856ZcEUzxhXGbt4OAcmavGOmSTOwGnXxuWS3DJyGX0wFduhoZJC8LR6QZoKTp2JixemupDEFlVMsvOpjmgy7Vg0wfUzd7dkNLefa1mScuOHcli266bc4Bwk5M7gaoneOM8GXcIjXibl5hwcr5hyY63pS0r5MUKLKY5dXLxiOsOBic2ALaYSZy7H3hzH9ueiFk/TB7OwMDrxm0z0VnZPgrezIE3FNRHN/x7LprqgaeIV3Tz4tBSUSTOyaciiTIn8SZxyw1uMMOUG2wq0f0CQ70jWTHr5xrtFe8uk3IDTU065sb7F6OfHiMBUrrixuJgHg4M96QGgUIXyBEAnxuuDCQhC70K0Jm96QZoK9johvmyqizZ/AqWlfAOtmPidNljoeivc9mP1Um7IfHE4YKUrfjeg6oDC5zc5j5VJuYEbKKfcWAWMgfwYERgm1gWMSwcMODfm4UwEBltM7Hh5i+EyTgTZEKgJVqb5sk0lAKNaOeUYyVRi20bHlXmo9MGQq+D54uSkiu0dMI2AtEVFmqCxMik3QjCSKTdWAWMgP0YMJnci6RRjlzedgGFmjP8avFwECS7saTIxBmWruI4VgQFbikn2ZlNd3JL5HD2/b9wXdhuL2hu8SWZAc3f9HgLxVk11U274t3vAsEyoR3k24BeTXLHFSKXcQOMrp9xYx5WZnB/DWgyTO8Nl3DRiMSizOUOhV4ZjsLsIzKJjXLRFqS5sYgsyGFd0KDYEFH99R0qCQTksHcUpNziiJ3EpfBCeoDoOLhYH5dIpN8gqFFNu6Nxl8+f4s/7Msik3FIwFwKwM8VVZOuWGgrGExdTfICbNj2mof33pmcsoo2DoZIw6/mOl9NswGqIoGAqGioKhYCiYpwHM/1BZQBQMBUNlApibN2926NABt34HeRkNhsYG86RtQjyIyYIxdxCTgnkawDjUoZ7dIZlnB8wzNohJwTx9YJZ/64S0n53B/NFXFEwDAYNzMJZ/+fWHwwmY3PVOThRMw7EYDsx/ZpplMXl+S7QNuswPr1Yvd7i43CGHHPeBQxl/zgcODo8XfOyw+oO8WAdSnIXLP6ZgdC3mmst/tqabYTGPc7j93NfLojCYBR8DmMcLPnDI29jLLXYLEIhCpa8DMACTF4XWjxcsR1BjyUXcXjQKjKtHvComWXHKPTst38BBkrMzzcubUZw7YDwYFFiiEJio73/6qmSm6Rbz+GLOx5ytPF5ArAKDQSh4ixGCuQj/Vt9xWJYFMC4CNTh/mZuDsWA2Bq0ZYHAGi8GDag2GzBdTZvLZMV8zQbkN3QAABapJREFUwRBX5nQJgYndmv5V1FXTLSZvOdv8TJTDslgHrcWg9QfoZ7XYlZUxHz/+aHVW1oKc3CUYCADLW250jPEzZjqLwYNqCyYreg36WgUDYEK0YNBX3bgFd6wlmK3TtBaDe2V3vjIjxizgLWY1SwiBWQ2gJC3mItObyQnI7V3y0Wh0AnZ+yIgaNBg0Y1b2HCkwaCanwHqMBTMLGcw+Py0Yc3plWovhgj+2GNjSWowWTJ4fcn1l5OCc5cv8luXwJyuBIXOXPdDUcDyfdSyZ+OrX7Ytk57iYZOdF7qqNaWxSiuGD/LqdJb6J+8qXRUFvurPJNdoknDfdXfHsfV+c9sdOacdJM+iKvuS7ZVCODftNMTjGNE929tiGvuoG5d144BsZC+bOV7OAxx0hGHMs5vGCWK45VwtiDAIj0SvL24LAPEaUHPKylrO9uDJlMNr8GGwMKOtlZOGakTHtoFk83GOSF7m7RY9NCvGNDyB/ct/gQX7RizIDQgRf+XIqcyWXXKNNwlnJxyl0We6bMdA0aHTFpuS7ZXTMJjkuPiZ5LG8x+EbGgvn9cwJmGv+AaY7FPBZYzOoPkEP7QGwx4Kdw54sL/rizQJxXHoDBp/eaqwSGy4/hwSR+h76VpNmmRJz/gKaBQ6uRt64HD0bpIOyWstp15L/yJY7P4RAm4fAK4S2GJM2gtCjhV12JemWoggejl4YhD8bvQTFxZdNwcrmZFlOW4/Z6rxKHx6uztrBgcK+LB5PFVH7scPGOLhj08LPg4zzOYvLm1spi8P946CdTSGJKANvm2hhg8CAun0XnK18IGG0Sjop3ZeykfhWbNMNdEV1Kx5WZDsZtfCWxmLlXnfbPNBfM4xKHj3ovcMtxu4OC+QfIAoDQxeXLcnLQEwzpF2AWCMxFDszjBVF5uS/mccFldayRMYZvc7dE7yTXRGGb46y6Qm8hGNmDwMOgbKR47itfcDuyyTWCJBxxrwx9yQmbNIPbm3y3jLTFoK+6gbs3xTeyziDmxdzYktHQ+L1ycl9kg/9FpnJL3vLHbCeNqeyNm33B6zlQzoJBHjDWgVjMMlJu1HMM3+YoRJ8VGQPOg4kbKQQjexDuDkCE577yBVHgkmsESTjCJ1ZnNpMTJ81gMOS7ZaTBoK+6CUhDPhNuREeXG55q48ooGAqGgqFg6CeYFIylwNTZ9CU6GcO8yRgWnvBHJyBZavoSBUPBUFEwFAwFQ8FQMDQNg+bHUFEwjRkMlQVFwVAwVBQMBUPBUDAUDAVDwVBRMBQMFQVDwRi4wrOniS6nmjU74nIebe4JbnZkh8upYzvyT7C1bxWgimb39zVL39fh6iW8IDVHvr3NHpO+75S5vwQFI6lrBw4gOpuunQdMN4Kh5LjLeOEBx9ZfWm/LC8gcuWpry+NI33fwW0EdBfMMyUww9lTWEwVDwVBRMBQMFQVDwVAwFAwVBUPBUFEwFAwVBUNFwVAwDUvXb7Mbj85nwnLbK3ilo/tL08kfqtyfYc9uYS1Flbe+PwrnFYU47zit/pw9YVaK9N3SPxXtLdVul+z7BNcWpU09vdfOftbSxg7m1uKjZCNmx/mXI1iN/0R0zNzTGaQN536YgVpv4foU++wvE7iGfVheej3S31F9Pq4IkAi4OaXIgZl7VeeobPInSj+dFfZkz264O4Bhj4H3wiynxujKXtjNITr8Fms9j3TAXN+bqQTG/uElXJegPUPfYkqcdC0t5pr6ifZGrMVwJyIwcDN7dtm4wKyI0GpczE2wnGyyw3m37HzUKJiDAIxOA29Ln06MgAWjNYb9Cbp3zD5dTg6233bkwd416UtjHuzxFYCTA+PaCC1m7o4M0lIvEwozxgnakRSVRKbYC2LMp/a3TmcIYsSjby+JwHCWg2xKh8u49E8xxm0Pfzv/CTk/ZmLXS3YCi8F3+QktRnGuLPv0nv8HHAYkB4W/ipoAAAAASUVORK5CYII=" alt="" />
2.在通用代码里找到src="xxxxxxxxxxxxx",把这个双引号里面的内容复制下来
aaarticlea/png;base64,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" alt="" />
3.打开文章编辑器,点“插入iframe”按钮
aaarticlea/png;base64,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" alt="" />
然后在地址栏右键粘贴,并输入宽度高度,最后点击确定
那么问题来了,作为一个懂点html的码农,看懂这一段iframe代码,从中找出src属性内容,都是最最基本的技能,跟吃饭一样。但是对于使用这个编辑器的用户来说,他肯定要说“什么?还要学html?WTF!”。
那么动手做点小小的改动,让UEditor支持直接插入通用视频代码吧
闲话少说,上代码:
主要就是改ueditor/dialogs/video/video.js
再具体一点,就是改其中的两个function
/**
* 将单个视频信息插入编辑器中
* 修改:处理通用视频代码iframe BY oceanking 20150309
*/
function insertSingle(){
var width = $G("videoWidth"),
height = $G("videoHeight"),
url=$G('videoUrl').value,
align = findFocus("videoFloat","name");
if(!url) return false;
if ( !checkNum( [width, height] ) ) return false; url = utils.trim(url);
if(/^<iframe/.test(url)){
var conUrl = '';
if(/src=\"[^\s"]+/i.test(url)){
conUrl = url.match(/src=\"[^\s"]+/i)[0].substr(5);
}
var newIframe = editor.document.createElement("iframe");
var div;
newIframe.setAttribute("src",/http:\/\/|https:\/\//ig.test(conUrl) ? conUrl : "http://"+conUrl);
/^[1-9]+[.]?\d*$/g.test( width.value ) ? newIframe.setAttribute("width",width.value) : "";
/^[1-9]+[.]?\d*$/g.test( height.value ) ? newIframe.setAttribute("height",height.value) : "";
//newIframe.setAttribute("scrolling","no");
newIframe.setAttribute("frameborder","0",0);
newIframe.setAttribute("allowfullscreen","allowfullscreen");
newIframe.setAttribute("align",align);
div = editor.document.createElement("div");
div.appendChild(newIframe);
console.log(div.innerHTML);
editor.execCommand("inserthtml",div.innerHTML);
} else {
editor.execCommand('insertvideo', {
url: convert_url(url),
width: width.value,
height: height.value,
align: align
}, isModifyUploadVideo ? 'upload':null);
}
} /**
* 根据url生成视频预览
* 修改:处理通用视频代码iframe BY oceanking 20150309
* @param url
*/
function createPreviewVideo(url){
if ( !url )return;
url = utils.trim(url);
if(/^<iframe/.test(url)){
var conUrl = '';
if(/src=\"[^\s"]+/i.test(url)){
conUrl = url.match(/src=\"[^\s"]+/i)[0].substr(5);
}
$G("preview").innerHTML = '<div class="previewMsg"><span>'+lang.urlError+'</span></div>'+
'<iframe class="previewVideo"' +
' src="' + conUrl + '"' +
' width="' + 420 + '"' +
' height="' + 280 + '"' +
' frameborder=0 allowfullscreen>' +
'</iframe>';
} else {
var conUrl = convert_url(url); $G("preview").innerHTML = '<div class="previewMsg"><span>'+lang.urlError+'</span></div>'+
'<embed class="previewVideo" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"' +
' src="' + conUrl + '"' +
' width="' + 420 + '"' +
' height="' + 280 + '"' +
' wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true" >' +
'</embed>';
}
}
没找到添加附件的方法,把改过的video.js直接贴在下面吧
/**
* Created by JetBrains PhpStorm.
* User: taoqili
* Date: 12-2-20
* Time: 上午11:19
* To change this template use File | Settings | File Templates.
*/ (function(){ var video = {},
uploadVideoList = [],
isModifyUploadVideo = false,
uploadFile; window.onload = function(){
$focus($G("videoUrl"));
initTabs();
initVideo();
initUpload();
}; /* 初始化tab标签 */
function initTabs(){
var tabs = $G('tabHeads').children;
for (var i = 0; i < tabs.length; i++) {
domUtils.on(tabs[i], "click", function (e) {
var j, bodyId, target = e.target || e.srcElement;
for (j = 0; j < tabs.length; j++) {
bodyId = tabs[j].getAttribute('data-content-id');
if(tabs[j] == target){
domUtils.addClass(tabs[j], 'focus');
domUtils.addClass($G(bodyId), 'focus');
}else {
domUtils.removeClasses(tabs[j], 'focus');
domUtils.removeClasses($G(bodyId), 'focus');
}
}
});
}
} function initVideo(){
createAlignButton( ["videoFloat", "upload_alignment"] );
addUrlChangeListener($G("videoUrl"));
addOkListener(); //编辑视频时初始化相关信息
(function(){
var img = editor.selection.getRange().getClosedNode(),url;
if(img && img.className){
var hasFakedClass = (img.className == "edui-faked-video"),
hasUploadClass = img.className.indexOf("edui-upload-video")!=-1;
if(hasFakedClass || hasUploadClass) {
$G("videoUrl").value = url = img.getAttribute("_url");
$G("videoWidth").value = img.width;
$G("videoHeight").value = img.height;
var align = domUtils.getComputedStyle(img,"float"),
parentAlign = domUtils.getComputedStyle(img.parentNode,"text-align");
updateAlignButton(parentAlign==="center"?"center":align);
}
if(hasUploadClass) {
isModifyUploadVideo = true;
}
}
createPreviewVideo(url);
})();
} /**
* 监听确认和取消两个按钮事件,用户执行插入或者清空正在播放的视频实例操作
*/
function addOkListener(){
dialog.onok = function(){
$G("preview").innerHTML = "";
var currentTab = findFocus("tabHeads","tabSrc");
switch(currentTab){
case "video":
return insertSingle();
break;
case "videoSearch":
return insertSearch("searchList");
break;
case "upload":
return insertUpload();
break;
}
};
dialog.oncancel = function(){
$G("preview").innerHTML = "";
};
} /**
* 依据传入的align值更新按钮信息
* @param align
*/
function updateAlignButton( align ) {
var aligns = $G( "videoFloat" ).children;
for ( var i = 0, ci; ci = aligns[i++]; ) {
if ( ci.getAttribute( "name" ) == align ) {
if ( ci.className !="focus" ) {
ci.className = "focus";
}
} else {
if ( ci.className =="focus" ) {
ci.className = "";
}
}
}
} /**
* 将单个视频信息插入编辑器中
* 修改:处理通用视频代码iframe BY oceanking 20150309
*/
function insertSingle(){
var width = $G("videoWidth"),
height = $G("videoHeight"),
url=$G('videoUrl').value,
align = findFocus("videoFloat","name");
if(!url) return false;
if ( !checkNum( [width, height] ) ) return false; url = utils.trim(url);
if(/^<iframe/.test(url)){
var conUrl = '';
if(/src=\"[^\s"]+/i.test(url)){
conUrl = url.match(/src=\"[^\s"]+/i)[0].substr(5);
}
var newIframe = editor.document.createElement("iframe");
var div;
newIframe.setAttribute("src",/http:\/\/|https:\/\//ig.test(conUrl) ? conUrl : "http://"+conUrl);
/^[1-9]+[.]?\d*$/g.test( width.value ) ? newIframe.setAttribute("width",width.value) : "";
/^[1-9]+[.]?\d*$/g.test( height.value ) ? newIframe.setAttribute("height",height.value) : "";
//newIframe.setAttribute("scrolling","no");
newIframe.setAttribute("frameborder","0",0);
newIframe.setAttribute("allowfullscreen","allowfullscreen");
newIframe.setAttribute("align",align);
div = editor.document.createElement("div");
div.appendChild(newIframe);
console.log(div.innerHTML);
editor.execCommand("inserthtml",div.innerHTML);
} else {
editor.execCommand('insertvideo', {
url: convert_url(url),
width: width.value,
height: height.value,
align: align
}, isModifyUploadVideo ? 'upload':null);
}
} /**
* 将元素id下的所有代表视频的图片插入编辑器中
* @param id
*/
function insertSearch(id){
var imgs = domUtils.getElementsByTagName($G(id),"img"),
videoObjs=[];
for(var i=0,img; img=imgs[i++];){
if(img.getAttribute("selected")){
videoObjs.push({
url:img.getAttribute("ue_video_url"),
width:420,
height:280,
align:"none"
});
}
}
editor.execCommand('insertvideo',videoObjs);
} /**
* 找到id下具有focus类的节点并返回该节点下的某个属性
* @param id
* @param returnProperty
*/
function findFocus( id, returnProperty ) {
var tabs = $G( id ).children,
property;
for ( var i = 0, ci; ci = tabs[i++]; ) {
if ( ci.className=="focus" ) {
property = ci.getAttribute( returnProperty );
break;
}
}
return property;
}
function convert_url(url){
if ( !url ) return '';
url = utils.trim(url)
.replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i, 'player.youku.com/player.php/sid/$1/v.swf')
.replace(/(www\.)?youtube\.com\/watch\?v=([\w\-]+)/i, "www.youtube.com/v/$2")
.replace(/youtu.be\/(\w+)$/i, "www.youtube.com/v/$1")
.replace(/v\.ku6\.com\/.+\/([\w\.]+)\.html.*$/i, "player.ku6.com/refer/$1/v.swf")
.replace(/www\.56\.com\/u\d+\/v_([\w\-]+)\.html/i, "player.56.com/v_$1.swf")
.replace(/www.56.com\/w\d+\/play_album\-aid\-\d+_vid\-([^.]+)\.html/i, "player.56.com/v_$1.swf")
.replace(/v\.pps\.tv\/play_([\w]+)\.html.*$/i, "player.pps.tv/player/sid/$1/v.swf")
.replace(/www\.letv\.com\/ptv\/vplay\/([\d]+)\.html.*$/i, "i7.imgs.letv.com/player/swfPlayer.swf?id=$1&autoplay=0")
.replace(/www\.tudou\.com\/programs\/view\/([\w\-]+)\/?/i, "www.tudou.com/v/$1")
.replace(/v\.qq\.com\/cover\/[\w]+\/[\w]+\/([\w]+)\.html/i, "static.video.qq.com/TPout.swf?vid=$1")
.replace(/v\.qq\.com\/.+[\?\&]vid=([^&]+).*$/i, "static.video.qq.com/TPout.swf?vid=$1")
.replace(/my\.tv\.sohu\.com\/[\w]+\/[\d]+\/([\d]+)\.shtml.*$/i, "share.vrs.sohu.com/my/v.swf&id=$1"); return url;
} /**
* 检测传入的所有input框中输入的长宽是否是正数
* @param nodes input框集合,
*/
function checkNum( nodes ) {
for ( var i = 0, ci; ci = nodes[i++]; ) {
var value = ci.value;
if ( !isNumber( value ) && value) {
alert( lang.numError );
ci.value = "";
ci.focus();
return false;
}
}
return true;
} /**
* 数字判断
* @param value
*/
function isNumber( value ) {
return /(0|^[1-9]\d*$)/.test( value );
} /**
* 创建图片浮动选择按钮
* @param ids
*/
function createAlignButton( ids ) {
for ( var i = 0, ci; ci = ids[i++]; ) {
var floatContainer = $G( ci ),
nameMaps = {"none":lang['default'], "left":lang.floatLeft, "right":lang.floatRight, "center":lang.block};
for ( var j in nameMaps ) {
var div = document.createElement( "div" );
div.setAttribute( "name", j );
if ( j == "none" ) div.className="focus";
div.style.cssText = "background:url(images/" + j + "_focus.jpg);";
div.setAttribute( "title", nameMaps[j] );
floatContainer.appendChild( div );
}
switchSelect( ci );
}
} /**
* 选择切换
* @param selectParentId
*/
function switchSelect( selectParentId ) {
var selects = $G( selectParentId ).children;
for ( var i = 0, ci; ci = selects[i++]; ) {
domUtils.on( ci, "click", function () {
for ( var j = 0, cj; cj = selects[j++]; ) {
cj.className = "";
cj.removeAttribute && cj.removeAttribute( "class" );
}
this.className = "focus";
} )
}
} /**
* 监听url改变事件
* @param url
*/
function addUrlChangeListener(url){
if (browser.ie) {
url.onpropertychange = function () {
createPreviewVideo( this.value );
}
} else {
url.addEventListener( "input", function () {
createPreviewVideo( this.value );
}, false );
}
} /**
* 根据url生成视频预览
* 修改:处理通用视频代码iframe BY oceanking 20150309
* @param url
*/
function createPreviewVideo(url){
if ( !url )return;
url = utils.trim(url);
if(/^<iframe/.test(url)){
var conUrl = '';
if(/src=\"[^\s"]+/i.test(url)){
conUrl = url.match(/src=\"[^\s"]+/i)[0].substr(5);
}
$G("preview").innerHTML = '<div class="previewMsg"><span>'+lang.urlError+'</span></div>'+
'<iframe class="previewVideo"' +
' src="' + conUrl + '"' +
' width="' + 420 + '"' +
' height="' + 280 + '"' +
' frameborder=0 allowfullscreen>' +
'</iframe>';
} else {
var conUrl = convert_url(url); $G("preview").innerHTML = '<div class="previewMsg"><span>'+lang.urlError+'</span></div>'+
'<embed class="previewVideo" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"' +
' src="' + conUrl + '"' +
' width="' + 420 + '"' +
' height="' + 280 + '"' +
' wmode="transparent" play="true" loop="false" menu="false" allowscriptaccess="never" allowfullscreen="true" >' +
'</embed>';
}
} /* 插入上传视频 */
function insertUpload(){
var videoObjs=[],
uploadDir = editor.getOpt('videoUrlPrefix'),
width = $G('upload_width').value || 420,
height = $G('upload_height').value || 280,
align = findFocus("upload_alignment","name") || 'none';
for(var key in uploadVideoList) {
var file = uploadVideoList[key];
videoObjs.push({
url: uploadDir + file.url,
width:width,
height:height,
align:align
});
} var count = uploadFile.getQueueCount();
if (count) {
$('.info', '#queueList').html('<span style="color:red;">' + '还有2个未上传文件'.replace(/[\d]/, count) + '</span>');
return false;
} else {
editor.execCommand('insertvideo', videoObjs, 'upload');
}
} /*初始化上传标签*/
function initUpload(){
uploadFile = new UploadFile('queueList');
} /* 上传附件 */
function UploadFile(target) {
this.$wrap = target.constructor == String ? $('#' + target) : $(target);
this.init();
}
UploadFile.prototype = {
init: function () {
this.fileList = [];
this.initContainer();
this.initUploader();
},
initContainer: function () {
this.$queue = this.$wrap.find('.filelist');
},
/* 初始化容器 */
initUploader: function () {
var _this = this,
$ = jQuery, // just in case. Make sure it's not an other libaray.
$wrap = _this.$wrap,
// 图片容器
$queue = $wrap.find('.filelist'),
// 状态栏,包括进度和控制按钮
$statusBar = $wrap.find('.statusBar'),
// 文件总体选择信息。
$info = $statusBar.find('.info'),
// 上传按钮
$upload = $wrap.find('.uploadBtn'),
// 上传按钮
$filePickerBtn = $wrap.find('.filePickerBtn'),
// 上传按钮
$filePickerBlock = $wrap.find('.filePickerBlock'),
// 没选择文件之前的内容。
$placeHolder = $wrap.find('.placeholder'),
// 总体进度条
$progress = $statusBar.find('.progress').hide(),
// 添加的文件数量
fileCount = 0,
// 添加的文件总大小
fileSize = 0,
// 优化retina, 在retina下这个值是2
ratio = window.devicePixelRatio || 1,
// 缩略图大小
thumbnailWidth = 113 * ratio,
thumbnailHeight = 113 * ratio,
// 可能有pedding, ready, uploading, confirm, done.
state = '',
// 所有文件的进度信息,key为file id
percentages = {},
supportTransition = (function () {
var s = document.createElement('p').style,
r = 'transition' in s ||
'WebkitTransition' in s ||
'MozTransition' in s ||
'msTransition' in s ||
'OTransition' in s;
s = null;
return r;
})(),
// WebUploader实例
uploader,
actionUrl = editor.getActionUrl(editor.getOpt('videoActionName')),
fileMaxSize = editor.getOpt('videoMaxSize'),
acceptExtensions = (editor.getOpt('videoAllowFiles') || []).join('').replace(/\./g, ',').replace(/^[,]/, '');; if (!WebUploader.Uploader.support()) {
$('#filePickerReady').after($('<div>').html(lang.errorNotSupport)).hide();
return;
} else if (!editor.getOpt('videoActionName')) {
$('#filePickerReady').after($('<div>').html(lang.errorLoadConfig)).hide();
return;
} uploader = _this.uploader = WebUploader.create({
pick: {
id: '#filePickerReady',
label: lang.uploadSelectFile
},
swf: '../../third-party/webuploader/Uploader.swf',
server: actionUrl,
fileVal: editor.getOpt('videoFieldName'),
duplicate: true,
fileSingleSizeLimit: fileMaxSize,
compress: false
});
uploader.addButton({
id: '#filePickerBlock'
});
uploader.addButton({
id: '#filePickerBtn',
label: lang.uploadAddFile
}); setState('pedding'); // 当有文件添加进来时执行,负责view的创建
function addFile(file) {
var $li = $('<li id="' + file.id + '">' +
'<p class="title">' + file.name + '</p>' +
'<p class="imgWrap"></p>' +
'<p class="progress"><span></span></p>' +
'</li>'), $btns = $('<div class="file-panel">' +
'<span class="cancel">' + lang.uploadDelete + '</span>' +
'<span class="rotateRight">' + lang.uploadTurnRight + '</span>' +
'<span class="rotateLeft">' + lang.uploadTurnLeft + '</span></div>').appendTo($li),
$prgress = $li.find('p.progress span'),
$wrap = $li.find('p.imgWrap'),
$info = $('<p class="error"></p>').hide().appendTo($li), showError = function (code) {
switch (code) {
case 'exceed_size':
text = lang.errorExceedSize;
break;
case 'interrupt':
text = lang.errorInterrupt;
break;
case 'http':
text = lang.errorHttp;
break;
case 'not_allow_type':
text = lang.errorFileType;
break;
default:
text = lang.errorUploadRetry;
break;
}
$info.text(text).show();
}; if (file.getStatus() === 'invalid') {
showError(file.statusText);
} else {
$wrap.text(lang.uploadPreview);
if ('|png|jpg|jpeg|bmp|gif|'.indexOf('|'+file.ext.toLowerCase()+'|') == -1) {
$wrap.empty().addClass('notimage').append('<i class="file-preview file-type-' + file.ext.toLowerCase() + '"></i>' +
'<span class="file-title">' + file.name + '</span>');
} else {
if (browser.ie && browser.version <= 7) {
$wrap.text(lang.uploadNoPreview);
} else {
uploader.makeThumb(file, function (error, src) {
if (error || !src || (/^data:/.test(src) && browser.ie && browser.version <= 7)) {
$wrap.text(lang.uploadNoPreview);
} else {
var $img = $('<img src="' + src + '">');
$wrap.empty().append($img);
$img.on('error', function () {
$wrap.text(lang.uploadNoPreview);
});
}
}, thumbnailWidth, thumbnailHeight);
}
}
percentages[ file.id ] = [ file.size, 0 ];
file.rotation = 0; /* 检查文件格式 */
if (!file.ext || acceptExtensions.indexOf(file.ext.toLowerCase()) == -1) {
showError('not_allow_type');
uploader.removeFile(file);
}
} file.on('statuschange', function (cur, prev) {
if (prev === 'progress') {
$prgress.hide().width(0);
} else if (prev === 'queued') {
$li.off('mouseenter mouseleave');
$btns.remove();
}
// 成功
if (cur === 'error' || cur === 'invalid') {
showError(file.statusText);
percentages[ file.id ][ 1 ] = 1;
} else if (cur === 'interrupt') {
showError('interrupt');
} else if (cur === 'queued') {
percentages[ file.id ][ 1 ] = 0;
} else if (cur === 'progress') {
$info.hide();
$prgress.css('display', 'block');
} else if (cur === 'complete') {
} $li.removeClass('state-' + prev).addClass('state-' + cur);
}); $li.on('mouseenter', function () {
$btns.stop().animate({height: 30});
});
$li.on('mouseleave', function () {
$btns.stop().animate({height: 0});
}); $btns.on('click', 'span', function () {
var index = $(this).index(),
deg; switch (index) {
case 0:
uploader.removeFile(file);
return;
case 1:
file.rotation += 90;
break;
case 2:
file.rotation -= 90;
break;
} if (supportTransition) {
deg = 'rotate(' + file.rotation + 'deg)';
$wrap.css({
'-webkit-transform': deg,
'-mos-transform': deg,
'-o-transform': deg,
'transform': deg
});
} else {
$wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')');
} }); $li.insertBefore($filePickerBlock);
} // 负责view的销毁
function removeFile(file) {
var $li = $('#' + file.id);
delete percentages[ file.id ];
updateTotalProgress();
$li.off().find('.file-panel').off().end().remove();
} function updateTotalProgress() {
var loaded = 0,
total = 0,
spans = $progress.children(),
percent; $.each(percentages, function (k, v) {
total += v[ 0 ];
loaded += v[ 0 ] * v[ 1 ];
}); percent = total ? loaded / total : 0; spans.eq(0).text(Math.round(percent * 100) + '%');
spans.eq(1).css('width', Math.round(percent * 100) + '%');
updateStatus();
} function setState(val, files) { if (val != state) { var stats = uploader.getStats(); $upload.removeClass('state-' + state);
$upload.addClass('state-' + val); switch (val) { /* 未选择文件 */
case 'pedding':
$queue.addClass('element-invisible');
$statusBar.addClass('element-invisible');
$placeHolder.removeClass('element-invisible');
$progress.hide(); $info.hide();
uploader.refresh();
break; /* 可以开始上传 */
case 'ready':
$placeHolder.addClass('element-invisible');
$queue.removeClass('element-invisible');
$statusBar.removeClass('element-invisible');
$progress.hide(); $info.show();
$upload.text(lang.uploadStart);
uploader.refresh();
break; /* 上传中 */
case 'uploading':
$progress.show(); $info.hide();
$upload.text(lang.uploadPause);
break; /* 暂停上传 */
case 'paused':
$progress.show(); $info.hide();
$upload.text(lang.uploadContinue);
break; case 'confirm':
$progress.show(); $info.hide();
$upload.text(lang.uploadStart); stats = uploader.getStats();
if (stats.successNum && !stats.uploadFailNum) {
setState('finish');
return;
}
break; case 'finish':
$progress.hide(); $info.show();
if (stats.uploadFailNum) {
$upload.text(lang.uploadRetry);
} else {
$upload.text(lang.uploadStart);
}
break;
} state = val;
updateStatus(); } if (!_this.getQueueCount()) {
$upload.addClass('disabled')
} else {
$upload.removeClass('disabled')
} } function updateStatus() {
var text = '', stats; if (state === 'ready') {
text = lang.updateStatusReady.replace('_', fileCount).replace('_KB', WebUploader.formatSize(fileSize));
} else if (state === 'confirm') {
stats = uploader.getStats();
if (stats.uploadFailNum) {
text = lang.updateStatusConfirm.replace('_', stats.successNum).replace('_', stats.successNum);
}
} else {
stats = uploader.getStats();
text = lang.updateStatusFinish.replace('_', fileCount).
replace('_KB', WebUploader.formatSize(fileSize)).
replace('_', stats.successNum); if (stats.uploadFailNum) {
text += lang.updateStatusError.replace('_', stats.uploadFailNum);
}
} $info.html(text);
} uploader.on('fileQueued', function (file) {
fileCount++;
fileSize += file.size; if (fileCount === 1) {
$placeHolder.addClass('element-invisible');
$statusBar.show();
} addFile(file);
}); uploader.on('fileDequeued', function (file) {
fileCount--;
fileSize -= file.size; removeFile(file);
updateTotalProgress();
}); uploader.on('filesQueued', function (file) {
if (!uploader.isInProgress() && (state == 'pedding' || state == 'finish' || state == 'confirm' || state == 'ready')) {
setState('ready');
}
updateTotalProgress();
}); uploader.on('all', function (type, files) {
switch (type) {
case 'uploadFinished':
setState('confirm', files);
break;
case 'startUpload':
/* 添加额外的GET参数 */
var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
url = utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + 'encode=utf-8&' + params);
uploader.option('server', url);
setState('uploading', files);
break;
case 'stopUpload':
setState('paused', files);
break;
}
}); uploader.on('uploadBeforeSend', function (file, data, header) {
//这里可以通过data对象添加POST参数
header['X_Requested_With'] = 'XMLHttpRequest';
}); uploader.on('uploadProgress', function (file, percentage) {
var $li = $('#' + file.id),
$percent = $li.find('.progress span'); $percent.css('width', percentage * 100 + '%');
percentages[ file.id ][ 1 ] = percentage;
updateTotalProgress();
}); uploader.on('uploadSuccess', function (file, ret) {
var $file = $('#' + file.id);
try {
var responseText = (ret._raw || ret),
json = utils.str2json(responseText);
if (json.state == 'SUCCESS') {
uploadVideoList.push({
'url': json.url,
'type': json.type,
'original':json.original
});
$file.append('<span class="success"></span>');
} else {
$file.find('.error').text(json.state).show();
}
} catch (e) {
$file.find('.error').text(lang.errorServerUpload).show();
}
}); uploader.on('uploadError', function (file, code) {
});
uploader.on('error', function (code, file) {
if (code == 'Q_TYPE_DENIED' || code == 'F_EXCEED_SIZE') {
addFile(file);
}
});
uploader.on('uploadComplete', function (file, ret) {
}); $upload.on('click', function () {
if ($(this).hasClass('disabled')) {
return false;
} if (state === 'ready') {
uploader.upload();
} else if (state === 'paused') {
uploader.upload();
} else if (state === 'uploading') {
uploader.stop();
}
}); $upload.addClass('state-' + state);
updateTotalProgress();
},
getQueueCount: function () {
var file, i, status, readyFile = 0, files = this.uploader.getFiles();
for (i = 0; file = files[i++]; ) {
status = file.getStatus();
if (status == 'queued' || status == 'uploading' || status == 'progress') readyFile++;
}
return readyFile;
},
refresh: function(){
this.uploader.refresh();
}
}; })();
如果你也有“使用UEditor插入通用视频代码”的需求,不妨试试看。
欢迎转载,转载请注明