Это универсальное решение, которое делает именно то, что вы хотите, в каждом браузере, который является 100% программным, до свидания гигантской статической таблицы имен и шестнадцатеричных значений!:
// Here is the solution tied together as a native String native extension using
// MooTools, though you can implement the same thing in whatever framework you prefer:
(function(String){
var valueMatch = {
'rgb(0,0,0)': { 'black': ' ', 'rgb(0,0,0)': ' ' },
'rgba(0,0,0,0)': { 'transparent': ' ', 'rgba(0,0,0,0)': ' ' },
'#ffffff': { 'transparent': ' ' },
'transparent': { 'transparent': ' ' }
},
colorFromProbe = function(color){
color = color.toString();
if(!color.match(/^#.+$|^[^0-9]+$/)) return color;
var probe = ($('moo_color_probe') || new Element('textarea', {
'id': 'moo_color_probe',
'styles': {
'display': 'none',
'color': 'transparent'
}
}).inject(document.body, 'after'));
try{ probe.setStyle('color', color) } catch(e){ return color } //IE throws an error instead of defaulting the style to some color or transparent when the value is unrecognized
var computed = (Browser.ie) ? ieColorToHex(probe) : (Browser.opera) ? probe.style.color : probe.getComputedStyle('color'),
match = valueMatch[computed.replace(/ /g, '')];
probe.setStyle('color', 'transparent');
if((!Browser.ie || Browser.ie9) && color == 'transparent' && (match && match['transparent'])) return 'rgba(0, 0, 0, 0)';
return (computed == 'transparent' || match && !match[color.replace(/ /g, '')]) ? color : computed;
},
ieColorToHex = function(probe){ // Special IE mojo, thanks to Dean Edwards for the inspiration, his code used a pop-up window to test the color, I found you can simply use a textarea instead ;)
var value = probe.set('value', '').createTextRange().queryCommandValue("ForeColor");
value = (((value & 0x0000ff) << 16) | (value & 0x00ff00) | ((value & 0xff0000) >>> 16)).toString(16);
return "#000000".slice(0, 7 - value.length) + value;
};
String.implement({
colorToRgb: function(){
var color = colorFromProbe(this);
return (color.charAt(0) == '#') ? color.hexToRgb() : color;
},
colorToHex: function(){
var color = colorFromProbe(this);
return (color.test('rgb')) ? color.rgbToHex() : color;
}
});
})(String);
Более полное объяснение и живое пример можно найти здесь: http://www.backalleycoder.com/2010/10/05/converting-css-named-colors-to-rgb-and-hex/
Это просто ошибка ошибки аутентификации, я использую токены для аутентификации в своем приложении, но теперь мне нужно было также передать этот токен, выданный пользователю, в vue-echo.
А также изменить:
Broadcast::routes();
на
Broadcast::routes(['middleware' => ['auth:api']]);
, так как я создаю одностраничное приложение, следовательно, использую Axios для аутентификации, которая поэтому интерпретирует меня с помощью промежуточного программного обеспечения API ,
Руководствуясь ответом, предоставленным Алексом на вопрос «Laravel / broadcasting / auth Всегда терпит неудачу с ошибкой 403» Вы можете получить более подробную информацию там.
Спасибо всем.